读书人

有默许参数的构造函数等同于无参数的构

发布时间: 2012-12-23 11:28:15 作者: rapoo

有默认参数的构造函数等同于无参数的构造函数

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++编译器将由默认参数的构造函数于无参的构造函数看做是等同的,后续会造成对重载函数的调用不明确。

读书人网 >编程

热点推荐