[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Mik 23 ноября 2001 г. 19:49
В ответ на: С166 - extern struct ? отправлено Угу 23 ноября 2001 г. 18:46

ANSI C Standard я не читал, но и так ясно, что для того, чтобы использовать структуру, компилятор должен сначала увидеть её объявление. За рамки одного (в данный момент компилируемого) модуля компилятор заглядывать не умеет. Значит объявление должно выглядеть так:

extern struct {
unsigned char Flag;
unsigned char VMem;
} VideoMem[40][240];

То, что Вы писали (extern VideoMem), эквивалентно 'extern int VideoMem', т.к. в Си если тип не указан, то подразумевается int.
Если Вас ломает переписывать описание структуры при объявлении переменной, присвойте этой структуре имя.
Удачи!

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru