共用方式為


編譯器警告 (層級 4) C4127

更新:2007 年 11 月

錯誤訊息

條件運算式是常數

if 陳述式或 while 迴圈 (Loop) 的控制運算式會評估出常數值。如果因為迴圈將在中間結束而致 while 迴圈控制運算式為常數,請考慮以 for 迴圈取代 while 迴圈。您可以省略初始設定,結束測試和 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;
   }
}