[질문] C++ 생성자에서 초기값 줄때 warning 메세지 도와주세요
글쓴이: oruddk / 작성시간: 화, 2006/02/07 - 11:30오전
클래스의 생성자에서 다음과 같이
Log::Log (bool debugFlag, bool appFlag, bool rawFlag) : debugFlag_ (debugFlag), appFlag_ (appFlag), rawFlag_ (rawFlag) {}
클래스 멤버에 초기값을 주려고 합니다.
컴파일 하면 다음과 같은 warning 이 나오는 데요
Log.h: In constructor `Log::Log(bool, bool, bool)': Log.h:102: warning: `Log::debugFlag_' will be initialized after Log.h:100: warning: `bool Log::appFlag_' Log.cpp:114: warning: when initialized here
생성자에서 초기값을 줄때 다른 방법이 있는 건지 궁금합니다.
그럼 모두 좋은 하루되세요^^
Forums:


초기화 리스트의 순서는 debugFlag_, appFlag_, rawFl
초기화 리스트의 순서는 debugFlag_, appFlag_, rawFlag_의 순서인데,
이들 멤버 변수가 선언된 순서가 다르기 때문인 듯 합니다. 주의할 것은 초기화
순서는 초기화 리스트의 순서가 아니라 멤버 선언 순서로 되는데, 경우에 따라
이들 차이로 인해 미묘한 문제가 발생할 수 있기 때문에 경고를 주는 것입니다.
멤버 선언 순서와 초기화 리스트의 순서를 일치시키는 것이 바람직한 스타일입니다.
좋은 정보 감사합니다.멤버선언 순서를 수정했더니 컴파일 잘되네요
좋은 정보 감사합니다.
멤버선언 순서를 수정했더니 컴파일 잘되네요
좋은하루되세요