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