关于C++对象定义的问题。

假设有一个类名为Test,Test有无参的构造函数,下面是我写的一些代码。

Test function(){
    qDebug()<<"这是一个函数指针!";
}


Test *t1 = new Test;   //正确
Test *t2 = new Test();  //正确
Test *t3; //这是一个Test类型的指针
Test *t4();  //不知道这个是什么意思,但是不报错
Test (*t5)();  //定义了一个指向返回值为Test类型的,无参的函数指针
t5 = function;
t5();

有两个问题
(1)t2这样定义为什么可以
(2)t4是什么意思
谢谢各位。

1 t1和t2一样,都是调用无参数构造函数
2 声明一个返回Test 指针的无参数函数,函数名是t4

都是调用默认构造函数