编译器警告(等级 4)C4289

使用了非标准扩展 :“var”: 在 for 循环中声明的循环控制变量用在了 for 循环范围外

当用 /Ze/Zc:forScope- 编译时,在 for 循环范围之后使用了 for 循环中声明的变量。

有关如何用 /Ze 指定 for 循环中的标准行为的信息,请参见 /Zc:forScope

默认情况下关闭此警告。 有关更多信息,请参见默认情况下处于关闭状态的编译器警告

下面的示例生成 C4289:

// C4289.cpp
// compile with: /W4 /Zc:forScope-
#pragma warning(default:4289)
int main() {
   for (int i = 0 ; ; )   // C4289
      break;
   i++;
}