Понадобилось подправить старую версию проекта трехлетней давности. Не компилируется: Error[Pe101]: "bContrast" has already been declared in the current scope (at line 706 of "...k_backup.h") ...k_backup.c 58 bContrast - это элемент SETUP_STRUCT, ошибка выводится на все элементы.
Header:
extern __no_init union { SETUP_STRUCT ; unsigned char setup_char[SetupSize]; unsigned int setup_int[SetupSize/2]; } ;
В С-шном файле то же самое, но без extern.
То есть, старый компилятор относил extern ко всем элементам объединения, а новый не хочет, и считает декларацией составную часть extern union.
Можно критиковать подходы программирования, так уже не пишу, но зак просит подправить проект, может кто подскажет, как можно сделать это малой кровью. Спасибо.
--------------------
Уходя, оставьте свет...
|