Udostępnij za pośrednictwem


C6001

Ostrzeżenie C6001: użycie niezainicjowanej pamięci <variable>

Ostrzeżenie to jest zgłaszane, gdy niezainicjowana zmienna lokalna zostanie użyta, zanim zostanie przypisana jej wartość.Może to prowadzić do nieoczekiwanych rezultatów.Należy zawsze inicjować zmienne przed użyciem.

Przykład

Poniższy kod generuje to ostrzeżenie, ponieważ zmienna i zostanie zainicjowana, tylko jeśli zmienna b ma wartość true; w przeciwnym razie, zwracana jest niezainicjowana zmienna i:

int f( bool b )
{
   int i;
   if ( b )
   {
      i = 0;
   }
   return i; // i is unintialized if b is false
}

Aby poprawić to ostrzeżenie, zainicjuj zmienną w sposób przedstawiony w poniższym kodzie:

int f( bool b )
{
   int i= -1;

   if ( b )
   {
      i = 0;
   }
   return i;
}

Zobacz też

Informacje

Kompilator ostrzeżenia (poziom 1 i poziom 4) C4700