Доброго времени суток.
Использую WinAVR-20090313
имеются две переменные с одинаковыми имнами: локальная и глобальная
язык Си позволяет обратиться из функции к глобальной переменной, если в этой функции имеется одноименная переменная следующим образом
Код
int i;
void foo(void)
{
int i, k, e;
k = i; // i локальная
e = ::i; // i глобальная
}
у меня компилятор в этом случае выдает ошибку.
может этот оператор расширения области видимости присутствует только в C++ ? Я пробовал в начало файла добавлять следующее определение
Код
#ifndef __cplusplus
#define __cplusplus
#endif
все равно выдается та же ошибка
как мне быть в этом случае?
можно конечно дать разные имена, но хочется разобраться почему компилятор выдает ошибки, если Си предоставляет возможность использования одноименных локальных и глобальных имен.
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.