编译器警告(等级 1)C4288
使用了非标准扩展:'var': 在 For 循环中声明的循环控制变量用在了 For 循环范围外;它与外部范围内的声明冲突
使用 /Ze
和 /Zc:forscope- 编译时,在 for-loop 范围之后使用了在 for
循环中声明的变量。 C++ 语言的 Microsoft 扩展允许此变量保留在范围内,C4288 提醒你,未使用该变量的第一个声明。
有关如何使用 /Ze 在 for
循环中指定 Microsoft 扩展的信息,请参阅 /Zc:forScope
。
以下示例生成 C4288:
// C4288.cpp
// compile with: /W1 /c /Zc:forScope-
int main() {
int i = 0; // not used in this program
for (int i = 0 ; ; ) ;
i++; // C4288 using for-loop declaration of i
}