为什么在尝试这样的类代码时出现错误?我初学者不好意思

时间:2019-05-07 08:44:35

标签: c++ codeblocks

由于某种原因,我无法运行此代码?每个人都可以使其运行..我几个月前就可以了,但现在我只是出错了。该错误显示为以下错误:

  

'Animals :: name'应该在成员初始化列表-Werror = effc ++中初始化

我真的很生气,我也是初学者,我只想练习。

我尝试制作不同的类代码示例,但是只要我在其中包含字符串或与简单的cout函数不同的其他代码,它们都无法工作。

它不起作用,只会给我我在上面键入的错误,即使代码应该可以正常工作...因此我无法练习。

class Animals{`public:`string name;`};`

然后剩下的是类对象名称,例如,“动物”狗,然后是“ dog.name”,然后是“ cout”。

我希望代码输出Caow和Fatty。 我的意思是这只是一个简单的代码,因为我试图学习,但是由于这个随机的怪异烦人的错误而无法正常工作!!!我一直在互联网上寻找解决方案,但找不到任何解决方法。

1 个答案:

答案 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;
}