컴파일러 경고(수준 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
}
}