Condividi tramite


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