Partager via


Avertissement du compilateur (niveau 4) C4127

Mise à jour : novembre 2007

Message d'erreur

l'expression conditionnelle est une constante
conditional expression is constant

L'expression de contrôle d'une instruction if ou d'une boucle while correspond à une constante. Si l'expression de contrôle d'une boucle while est une constante parce que la boucle s'achèvera en cours d'opération, envisagez de remplacer la boucle while par une boucle for. Vous pouvez omettre l'initialisation, le test de fin et l'incrément de boucle d'une boucle for, ce qui entraîne une boucle infinie (comme while(1)), et vous pouvez quitter la boucle à partir du corps de l'instruction for.

L'exemple suivant génère l'erreur 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;
   }
}