小编uba*_*nto的帖子

gcc:Weffc ++与Wextra和成员初始化

假设我有一个这样的类:

class MyClass {
    private:
        vector<MyOtherClass> myMember;
    public:
        MyClass(const YetAnotherClass& myCollection);
}

MyClass::MyClass(const YetAnotherClass& myCollection) {
    myMember = convert(myCollection);
}
Run Code Online (Sandbox Code Playgroud)

或者,换句话说,我有一个成员的类,其他一些数据转换为后来使用.

现在,该weffc++标志有助于捕获一些愚蠢的错误,并使编译器更有帮助.与此同时,我喜欢Wextra因为它迫使我修复我的错误.

问题是代码没有编译("MyClass :: myMember应该在成员初始化列表中初始化"),我不知道如何解决它.我想我可以制作myMember一个指针并将其设置为NULL,但我宁愿不这样做.我也找不到禁用警告的方法,虽然我不确定这也不是一个好主意.

我正在使用GCC 4.5.2,如果它有任何区别.

那么,我该怎么做呢?

c++ gcc

2
推荐指数
1
解决办法
1470
查看次数

标签 统计

c++ ×1

gcc ×1