这段代码并不符合我的预期。为什么没有调用构造函数?
#include<iostream>
using namespace std;
class Class
{
Class()
{
cout<<"default constructor called";
}
~Class()
{
cout<<"destrutor called";
}
};
int main()
{
Class object();
}
我预计“叫默认构造函数”的输出,但我没有看到任何东西作为输出。问题是什么?
你的构造函数是私有。 – 2010-09-28 07:42:01
@dribeas:这不是最令人头痛的解析;这只是一个有点令人烦恼的解析。 “最令人头疼的解析”通常被保留用于尝试创建一个具有初始化值的直接初始化程序的变量:A a(A());(原来是我的错误) – 2010-09-28 09:31:39
另请参见http:///stackoverflow.com/questions/180172/default-constructor-with-empty-brackets – 2014-10-21 19:27:01