由于某种原因,我无法运行此代码?每个人都可以使其运行..我几个月前就可以了,但现在我只是出错了。该错误显示为以下错误:
'Animals :: name'应该在成员初始化列表-Werror = effc ++中初始化
我真的很生气,我也是初学者,我只想练习。
我尝试制作不同的类代码示例,但是只要我在其中包含字符串或与简单的cout函数不同的其他代码,它们都无法工作。
它不起作用,只会给我我在上面键入的错误,即使代码应该可以正常工作...因此我无法练习。
class Animals{`public:`string name;`};`
然后剩下的是类对象名称,例如,“动物”狗,然后是“ dog.name”,然后是“ cout”。
我希望代码输出Caow和Fatty。 我的意思是这只是一个简单的代码,因为我试图学习,但是由于这个随机的怪异烦人的错误而无法正常工作!!!我一直在互联网上寻找解决方案,但找不到任何解决方法。
答案 0 :(得分:0)
我希望您的代码看起来像这样
#include <string>
class Animal {
public:
Animal(std::string aName) {
name = aName;
}
std::string name;
};
int main() {
Animal a("a");
return 0;
}
您正在初始化构造函数主体中的字符串。但是您应该使用构造函数的初始化列表:
#include <string>
class Animal {
public:
Animal(std::string aName): name(aName) {
}
std::string name;
};
int main() {
Animal a("a");
return 0;
}