我在C++中有一个默认构造函数的问题。这是一件简单的事情,但不能看出它有什么问题。调用默认构造函数
我有3个可选参数的构造函数,以初始化列表上的常量值:
data::data(int D = 1, int M = 1, int Y = 1583) : Day(D), Month(M), Year(Y)
{
if (!CorrectDate()) throw "Wrong Date!";
}
为什么我一个,两个或三个参数调用它,它工作得很好,但没有我的时候调用它没有参数?
data tommorrow();
参见:最棘手的解析:为什么不一个一个(());工作?](http://stackoverflow.com/questions/1424510/most-vexing-parse-why-doesnt-a-a-work)。简短的回答是,你在那里宣布一个功能。如果你想调用默认的构造函数,请省略父元素。 – 2011-03-22 01:17:55