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