
30.08.2008, 10:13
|
|
Флудер
Регистрация: 12.08.2004
Сообщений: 3,791
С нами:
11444066
Репутация:
2290
|
|
Вообщето правило области видимости, работает для фукнций, а не для составных операторов и для тел циклов, если мне не изменяет память...
Ты не прав: вот тебе пример:
Код:
#include "stdio.h"
int main() {
int x = 1;
printf("1: %d\n", x);
{
printf("2: %d\n", x);
int x = 2;
printf("3: %d\n", x);
}
printf("4: %d\n", x);
getchar();
return 0;
}
Переменная, объявленная во внутреннем блоке, замещает ту, которая объявлена во внешнем(примеры 2 и 3 в программе). Однако в конце блока она исчезает(примеры 3 и 4)
P.S. У меня на Визуал С++ 6 скомпилировалось без ошибок.
Очень старый компилятор. Обнови.
Более новые версии уже не компилят этот код. И правильно делают - в коде ошибка.
|
|
|