컴파일러 경고(수준 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
}