C6001

avertissement C6001 : utilisation de la mémoire non initialisée <variable>

Cet avertissement s'affiche lorsqu'une variable locale non initialisée est utilisée avant qu'une valeur lui soit assignée. Cela peut générer des résultats imprévisibles. Vous devez toujours initialiser les variables avant de les utiliser.

Exemple

Le code suivant génère cet avertissement car la variable i est initialisée uniquement si b a la valeur True ; sinon, un i non initialisé est retourné :

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

Pour corriger cet avertissement, initialisez la variable comme indiqué dans le code suivant :

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

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

Voir aussi

Référence

Avertissement du compilateur (niveaux 1 et 4) C4700