Condividi tramite


C6001

Aggiornamento: novembre 2007

C6001

avviso C6001: utilizzo di memoria <variabile> non inizializzata

L'avviso viene visualizzato quando una variabile locale non inizializzata viene utilizzata prima che le sia stato assegnato un valore. La situazione può provocare risultati imprevisti. È necessario inizializzare sempre le variabili prima dell'utilizzo.

Esempio

Nel codice seguente l'avviso viene generato perché la variabile i viene inizializzata solo se b è true, altrimenti viene restituito un valore i non inizializzato.

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

Per risolvere il problema, inizializzare la variabile come indicato nel codice seguente:

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

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

Vedere anche

Riferimenti

Avviso del compilatore (livelli 1 e 4) C4700

Avviso del compilatore (livello 4) C4701