共用方式為


編譯器警告 (層級 1) C4533

'instruction' 會略過 '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
}