Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: При описании структуры в *.h файле иногда выдается ошибка (+)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
JeDay
В чем может быть трабла. Эту же структуру выношу в новый или другой хедер файл - все компилилируется без проблем. Не погу понять от чего зависит ошибка: от содержимого структуры или содержимого файла. У кого нить была такая ошибка в компиляторе ?
Компилятор IAR.

Ошибка
---------------------------------
"Error[Pe101]: "структура" has already been declared in the current scope D:\путь\файл.h 66 "
---------------------------------
prottoss
Цитата(JeDay @ Jun 23 2006, 22:32) *
В чем может быть трабла. Эту же структуру выношу в новый или другой хедер файл - все компилилируется без проблем. Не погу понять от чего зависит ошибка: от содержимого структуры или содержимого файла. У кого нить была такая ошибка в компиляторе ?
Компилятор IAR.

Ошибка
---------------------------------
"Error[Pe101]: "структура" has already been declared in the current scope D:\путь\файл.h 66 "
---------------------------------


Если я все правильно понял, то объявите в самом начале хедера:

Код


#ifndef _66_H_

#define _66_H_



...текст хедера....



#endif// _66_H_


...и будет Вам счастье. Без этого, если Вы подключаете хедер к нескольким модулям, получается, что объявление структуры подряд встречается компилятору, Он, естественно, адекватно реагирует, и говорит, что структура объявлена несколько раз). Код, который привел я есть ничто иное как директива компилятору и макрос, в котром содержится текст хедера, после объявления один раз макроса, компилятор обходит его... Купите путнюю книгу по Си на русском
JeDay
Спасибо за совет. Подействовало.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.