Поясню в чем проблема, на мой взгляд. У Вас имеется некоторое поле в структуре, которое само является структурой..
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 12 марта 2005 г. 20:56
В ответ на: Ответ: Со структурой все понятно. Есть переменная, типа структру, которая содержит поля. А что есть поле объединения - отправлено ДМ 12 марта 2005 г. 20:38

Но суть не в том. Пусть это поле будет иметь скалярный тип и структура имеет следующий вид:


struct _mystruct {
char cccc;
long llll;
};

Далее Вы пишите
extern long llll;
Но ведь глобальная переменная llll и поле llll в структуре это абсолютно разные вещи, хотя и имеет одинаковые идентификаторы. Естественно, глобальная переменная объявлена как внешняя и компилятор знает как к ней обращаться, но реально ее нигде нет. Поэтому линкер и выдает вам сообщение, что переменной нет. Чтобы было правильно надо в одном из модулей ее определить:
long llll;
А теперь, если Вы поставите в моем примере Ваши типы данные и имена, то увидите что у Вас произошло.

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

Ответы



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

E-mail: info@telesys.ru