Compartir a través de


Advertencia del compilador (nivel 4) C4127

Actualización: noviembre 2007

Mensaje de error

la expresión condicional es constante
conditional expression is constant

La expresión de control de una instrucción if o de un bucle while se evalúa como una constante. Si la expresión de control de while es una constante porque el bucle estará en el medio, reemplace el bucle while con un bucle for. Puede omitir la inicialización, la prueba de terminación y el incremento de un bucle for, que hace que el bucle sea infinito (como while(1)), y puede salir del bucle desde el cuerpo de la instrucción for.

El ejemplo siguiente genera el error 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;
   }
}