更新 : 2007 年 11 月
エラー メッセージ
条件式が定数です。
if ステートメントまたは while ループの制御式が定数です。while ループの制御式が定数である場合はループが途中で終了するので、while ループを for ループと置き換えることを検討してください。while(1) のような無限ループを引き起こす for ループの初期化、終了テストおよびループ インクリメントを省略できます。また、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;
}
}