编译器警告(等级 1)C4533

“instruction”跳过了“variable”的初始化

程序中的指令更改了控制流,因此没有执行初始化变量的指令。 下面的示例生成 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
}