Если бы у меня был следующий код:
for(int myvar = 0; myvar < 10; myvar++);
if(1)
{
int var2 = 16;
}
Затем я написал следующее:
myvar = 0;
var2 = 0;
Было бы это законно? Мой VC ++ 6 компилирует его правильно, но я думаю, что это должно быть незаконно. (Это дает ошибку компилятора в одном из моих других компиляторов.)