C6295

Aviso C6295: Mal definido para loop: <variable> os valores são do intervalo "min" para "máximo". Loop executado indefinidamente

Este aviso indica que um loop for pode não funcionar conforme esperado. O loop para testes de um valor não assinado contra zero (0) com > =. O resultado é sempre verdadeiro, portanto o loop infinito.

Exemplo

O código a seguir gera este aviso:

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

Para corrigir esse aviso, use o seguinte código:

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