我有一堂课,看起来像这样:
Person(int pID,
int zipCode,
float ySalary,
const string& fName,
const string& mName,
const string& lName)
当我尝试创建如下所示的默认构造函数时:
Person::Person(void){
zipCode = NULL;
pID = NULL;
ySalary = NULL;
fName = "";
mName = "";
lName = "";
}
我收到一个错误消息,说没有运算符“ =”与const std :: string = const char [1]相匹配;
您需要使用成员初始化程序列表来初始化const
引用成员变量:
Person::Person(void) :
zipCode(NULL) ,
pID(NULL) ,
ySalary(NULL) ,
fName("") ,
mName("") ,
lName("") {
}
我建议始终使用成员构造器列表语法,而不是构造函数主体中的赋值。例如,请参见此处:在C ++中为构造函数使用初始化程序的好处是什么?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句