gcc : Wextra 및 멤버 초기화가있는 weffC++
다음과 같은 클래스가 있다고 가정 해 보겠습니다.class MyClass {
private:
vector<MyOtherClass> myMember;
public:
MyClass(const YetAnotherClass& myCollection);
}
MyClass::MyClass(const YetAnotherClass& myCollection) {
myMember = convert(myCollection);
}
또는 다른 클래스의 멤버가있는 클래스가 있습니다.
이제 weffc++
플래그는 어리석은 실수를 잡아 내고 컴파일러를 훨씬 더 유용하게 만듭니다. 동시에, 저는 실수를 고쳐야하기 때문에 xxx26을 좋아합니다.
문제는 코드가 컴파일되지 않는다는 것입니다 ("MyClass :: myMember가 멤버 초기화 목록에서 초기화되어야 함"). 나는 myMember
을 포인터로 만들고 NULL로 설정할 수 있다고 생각하지만 그렇게하지는 않을 것입니다. 나는 또한 좋은 아이디어가 될지 모르지만 경고를 사용하지 못하게하는 방법을 찾을 수 없다.
차이가 있다면 GCC 4.5.2를 사용하고 있습니다.
그러면 어떻게해야합니까?