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
}