编译器警告(等级 1)C4258
“variable”:忽略 for 循环中的定义;使用封闭范围中的定义
在 /Ze 和 /Zc:forScope 下,在 for 循环中定义的变量会在 for
循环结束时后超出范围。 如果变量的名称与循环变量的名称相同(但是是在封闭循环中定义的)再次在包含 for
循环的范围中使用,则会出现此警告。 例如:
// C4258.cpp
// compile with: /Zc:forScope /W1
int main()
{
int i;
{
for (int i =0; i < 1; i++)
;
i = 20; // C4258 i (in for loop) has gone out of scope
}
}