Предупреждение компилятора (уровень 4) C4127
Обновлен: Ноябрь 2007
Сообщение об ошибке
условное выражение является константой
conditional expression is constant
Управляющее выражение оператора if или цикла while является константой. Если управляющее выражение цикла while является константой из-за того, что цикл прерывается на середине, возможно, следует заменить цикл while на цикл for. Можно опустить инициализацию, тест на завершение и шаг цикла для цикла for, что приведет к тому, что цикл станет бесконечным (как while(1)). Выход из цикла можно выполнить из тела оператора for.
В следующем примере возникает ошибка 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;
}
}