Udostępnij za pośrednictwem


Ostrzeżenie kompilatora (poziom 1) C4533

inicjowanie zmiennej jest pomijane przez instrukcję

Uwagi

Instrukcja w programie zmieniła przepływ sterowania, więc instrukcja, która zainicjowała zmienną, nie została wykonana.

Opcja kompilatora /sdl (Włącz dodatkowe kontrole zabezpieczeń) podnosi to ostrzeżenie do błędu.

Przykład

Poniższy przykład generuje kod C4533. Aby rozwiązać ten problem, przenieś inicjowanie przed instrukcją skoku lub po celu skoku.

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