다음을 통해 공유


컴파일러 경고(수준 1) C4533

'variable'의 초기화는 '명령'으로 건너뜁니다.

설명

프로그램의 명령으로 제어 흐름이 변경되었으므로 변수를 초기화한 명령이 실행되지 않았습니다.

/sdl(추가 보안 검사 사용) 컴파일러 옵션은 이 경고를 오류로 승격합니다.

예시

다음 샘플에서는 C4533을 생성합니다. 이 문제를 해결하려면 점프 명령 앞이나 점프 대상 뒤로 초기화를 이동합니다.

// C4533.cpp
// compile with: /W1
#include <stdio.h>

struct A
{
   int m_data;
};

int main()
{
   if (1)
   {
      goto Label;
   }

   A a = { 100 };

   Label:   // C4533
      printf("\n%d", a.m_data);   // prints an uninitialized value
}