假设我有一个这样的类:GCC:weffC++与Wextra和成员初始化
class MyClass {
private:
vector<MyOtherClass> myMember;
public:
MyClass(const YetAnotherClass& myCollection);
}
MyClass::MyClass(const YetAnotherClass& myCollection) {
myMember = convert(myCollection);
}
或者,换句话说,我有一个类这是一些其他的数据转换为可随后使用的部件。
现在,weffc++
标志有助于捕捉一些愚蠢的错误,并使编译器更有帮助。同时,我喜欢Wextra
,因为它迫使我纠正错误。
问题是代码不能编译(“MyClass :: myMember应该在成员初始化列表中初始化”),我不知道如何解决它。我想我可以使myMember
作为一个指针并将其设置为NULL,但我宁愿不这样做。我也找不到禁用警告的方法,但我不确定这也是一个好主意。
我使用GCC 4.5.2,如果它有任何区别。
那么,我该怎么办呢?