iit (09.11.2004 15:25, просмотров: 2235)
Вопрос к знатокам Си Предистория:
ФАЙЛ 1.h
#include "iolpc210x.h"
enum tMyType
{
....
};
ФАЙЛ 1.cpp
#include "1.h"
ФАЙЛ 2.h
#include "iolpc210x.h"
void MyFunc(tMyType MyVar);
ФАЙЛ 2.cpp
#include "2.h"
void MyFunc(tMyType MyVar)
{
};
При компиляции 2.срр выдается ошибка:
identifier "tMyType" is undefined с указанием на модуль 2.h
- вполне логично.
Тогда делаю следующее в ФАЙЛЕ 2.h
#include "iolpc210x.h"
#include "1.h"
void MyFunc(tMyType MyVar);
Оказывается что не все так просто. Вот ответ компилятора:
invalid redeclaration of type name "tMyType"
ВНИМАНИЕ ВОПРОС! :)
1.Как сделать тип tMyType глобальным
2. Почему не выдается сообщение "invalid redeclaration of type name "Name"" для типов (или переменных) объявленных в модуле iolpc210x.h используемом и в 1.h и в 2.h
Компилятор ИАРовский