Код
// Базовый Класс DrvObject
class DrvObject
{
public:
unsigned char idnDrv;
};
// Класс DrvGrOblect
class DrvGroup;
class DrvGrObject : public DrvObject
{
public:
DrvGrObject *next;
DrvGroup *owner;
virtual void getEvent(TEvent& event);
};
// Класс DrvGrOblect
class DrvGroup : public DrvGrObject
{
public:
DrvGrObject *last;
DrvGrObject *current;
DrvGroup();
virtual void getEvent(TEvent& event);
void insert(DrvGrObject* o);
unsigned int execute(void);
};
class DrvObject
{
public:
unsigned char idnDrv;
};
// Класс DrvGrOblect
class DrvGroup;
class DrvGrObject : public DrvObject
{
public:
DrvGrObject *next;
DrvGroup *owner;
virtual void getEvent(TEvent& event);
};
// Класс DrvGrOblect
class DrvGroup : public DrvGrObject
{
public:
DrvGrObject *last;
DrvGrObject *current;
DrvGroup();
virtual void getEvent(TEvent& event);
void insert(DrvGrObject* o);
unsigned int execute(void);
};
Собственно вся загвоздка вот тут:
Код
// Класс DrvGrOblect
class DrvGrObject : public DrvObject
{
public:
DrvGrObject *next;
DrvGroup *owner;
virtual void getEvent(TEvent& event);
};
class DrvGrObject : public DrvObject
{
public:
DrvGrObject *next;
DrvGroup *owner;
virtual void getEvent(TEvent& event);
};
Вот этой конструкции DrvGroup *owner; компилятор не видит
IAR начинал работать нормально если вначале заголовочного файла приписать
class DrvGroup;
Cross Stulio этого не понимает.
Может есть какое волшебное слово применительно к GCC.