Avertissement C6295

Boucle for-loop mal définie : les valeurs « variable » sont de la plage « min » à « max ». Boucle exécutée indéfiniment

Notes

Cet avertissement indique qu’une boucle for peut ne pas fonctionner comme prévu. La boucle for teste une valeur non signée par rapport à zéro (0) avec >=. Le résultat est toujours vrai, donc la boucle est infinie.

Nom de l’analyse du code : INFINITE_LOOP

Exemple

Le code suivant génère cet avertissement :

void f( )
{
  for (unsigned int i = 100; i >= 0; i--)
  {
    // code ...
  }
}

Pour corriger cet avertissement, utilisez le code suivant :

void f( )
{
   for (unsigned int i = 100; i > 0; i--)
   {
      // code ...
   }
}