C++对象创建的问题,请问这种写法是?也不见调用无参构造函数啊?

如下图所示28行,到底是?B是什么类型呢?
图片说明

2个回答

下面的temp B();是申明但是没有定义一个叫做B的函数,同时返回temp类型。

虽然在函数里申明函数不常见,但是的确可以,比如

 int main()
 {
 int foo();
 foo();
 }
 void foo() {}

应该是把temp B()编译成函数了(未定义函数体的函数),第二个错误里的temp(*)()是函数指针的意思,也就是编译器认为B这个函数指针无法转化为void*。如果无参数构造的时候就不用写括号了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问