1. 程式人生 > >有預設引數的建構函式等同於無引數的建構函式

有預設引數的建構函式等同於無引數的建構函式

class DateTimeType :
public DateType ,public TimeType
{
public:
DateTimeType(void);
~DateTimeType(void);
DateTimeType(int year=1,int month=1,int day=1,int hour=1,int min=1,int sec=1):DateType(year,month,day),TimeType(hour,min,sec){};
void display();
};


編譯這段程式碼時,遇到警示資訊:
warning C4520: “CText”: 指定了多個預設建構函式;error C2668: “CText::CText”: 對過載函式的呼叫不明確。

後來把預設引數去掉就好了,c++編譯器將由預設引數的建構函式於無參的建構函式看做是等同的,後續會造成對過載函式的呼叫不明確。