我在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