Compilerwarnung (Stufe 4) C4127
Aktualisiert: November 2007
Fehlermeldung
Bedingter Ausdruck ist konstant
conditional expression is constant
Der steuernde Ausdruck einer if-Anweisung oder while-Schleife ergibt eine Konstante. Wenn der steuernde Ausdruck einer while-Schleife eine Konstante ist, da die Schleife in der Mitte endet, kann es von Vorteil sein, die while-Schleife durch eine for-Schleife zu ersetzen. Sie können Initialisierung, Terminierungstest und Schleifeninkrement einer for-Schleife unterdrücken, wodurch diese unendlich wird (wie while(1)). Die Schleife kann innerhalb der for-Anweisung verlassen werden.
Im folgenden Beispiel wird C4127 generiert:
// C4127.cpp
// compile with: /W4
#include <stdio.h>
int main() {
if (1 == 1) {} // C4127
while (1) { break; } // C4127
// OK
for ( ; ; ) {
printf("test\n");
break;
}
}