다음을 통해 공유


경고 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