Compartir a través de


Advertencia del compilador (nivel 1) C4533

"instrucción" omite la inicialización de "variable"

Comentarios

Una instrucción del programa ha cambiado el flujo de control, de modo que no se ha ejecutado una instrucción que inicializaba una variable.

La opción del compilador /sdl (Habilitar comprobaciones de seguridad adicionales) eleva esta advertencia a un error.

Ejemplo

En el ejemplo siguiente se genera la advertencia C4533. Para resolver el problema, mueva la inicialización antes de la instrucción de salto o después del destino del salto.

// 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
}