代码示例:
for(int j = 0; j < 16; ++j)
{
}
printf("
printf("%d",j);
for(int j = 0; j < 16; ++j)
{
}
以上代码在VC6下编译出现 error C2374: 'j' : redefinition; multiple
initialization的错误
但是在VC7以上的版本没错,在遵循ANSI标准的C++编译器也通过。
这是因为 在VC6中,
而标准C++中, j的作用域在for语句块内.