경고 C26495

변수 'variable'은 초기화되지 않습니다. 항상 멤버 변수(type.6)를 초기화합니다.

설명

멤버 변수는 생성자 또는 이니셜라이저에 의해 초기화되지 않습니다. 생성이 끝날 때까지 모든 변수가 초기화되었는지 확인합니다. 자세한 내용은 C++ Core Guidelines Type.6C.48을 참조하세요.

이 검사 절차 내입니다. 비컨스트 멤버 함수에 대한 함수 호출이 있을 때마다 검사 이 멤버 함수가 모든 멤버를 초기화한다고 가정합니다. 이 추론은 누락된 오류를 초래할 수 있으며 가양성 결과를 방지하기 위해 마련되었습니다. 또한 멤버가 함수에 대한 nonconst 참조로 전달되는 경우 검사 함수가 멤버를 초기화한다고 가정합니다.

코드 분석 이름: MEMBER_UNINIT

예시

다음 샘플에서는 개체를 만들 때 멤버 변수 value 가 초기화되지 않으므로 경고 C26495를 MyStruct 생성합니다.

struct MyStruct
{
    int value;
    MyStruct() {} // C26495, MyStruct::value is uninitialized
};

이 문제를 해결하려면 모든 멤버 변수에 클래스 내 초기화를 추가할 수 있습니다.

struct MyStruct
{
    int value{};  // empty brace initializer sets value to 0
    MyStruct() {} // no warning, MyStruct::value is set via default member initialization
};

참고 항목

C26494