【发布时间】:2011-04-18 03:45:15
【问题描述】:
这段代码的行为与我期望的不一样。
#include<iostream>
using namespace std;
class Class
{
Class()
{
cout<<"default constructor called";
}
~Class()
{
cout<<"destrutor called";
}
};
int main()
{
Class object();
}
我期望输出“调用默认构造函数”,但我没有看到任何输出。有什么问题?
【问题讨论】:
-
@dribeas:这并不是最令人头疼的解析;这只是一个有点令人烦恼的解析。 “最令人头疼的解析”通常保留用于尝试使用值初始化临时值的直接初始化器创建变量:
A a(A());(最初是我的错误。)
标签: c++ class constructor most-vexing-parse