Condividi tramite


Avviso del compilatore (livello 4) C4127

Aggiornamento: novembre 2007

Messaggio di errore

espressione condizionale costante
conditional expression is constant

L'espressione di controllo di un'istruzione if o di un ciclo while restituisce una costante. Se l'espressione di controllo di un ciclo while è una costante perché tale ciclo verrà interrotto, si consiglia di sostituire il ciclo while con un ciclo for. L'omissione dell'inizializzazione, del test di terminazione e dell'incremento rende un ciclo for infinito, come ad esempio while(1). È possibile interrompere il ciclo dal corpo dell'istruzione for.

Nell'esempio seguente viene generato l'errore C4127:

// C4127.cpp
// compile with: /W4
#include <stdio.h>
int main() {
   if (1 == 1) {}   // C4127
   while (1) { break; }   // C4127

   // OK
   for ( ; ; ) {
      printf("test\n");
      break;
   }
}