Witajcie,
problem jest następujący. Mam do napisania krótki programik (a w zasadzie same klasy i operacje), w którym będzie można tworzyć hierarchiczną strukturę zatrudnienia, czyt. pracowniki, który ma pod sobą innych pracowników, którzy również mogą mieć pod sobą pracowników itd.
Stworzyłem do tego dwie klasy Employee i EmpList (ta będzie przechowywać obiekty klasy Employee) . Klasy są zadeklarowane w dwóch odrębnych plikach nagłówkowych. Problem jest następujący. Jeżeli w klasie EmpList dodaje do składowych wskaźniki na obiekt klasy Employee, to kompilator nie widzi problemu, natomiast jeżeli chcę zrobić odwrotnie to dostaje błąd:
1>c:\users\robert\documents\visual studio 2010\projects\struktury2\struktury2\employee.h(7): error C2143: syntax error : missing ';' before '*'
1>c:\users\robert\documents\visual studio 2010\projects\struktury2\struktury2\employee.h(7): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\robert\documents\visual studio 2010\projects\struktury2\struktury2\employee.h(7): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Tak wyglądają obie klasy:
class CEmployee
{
protected:
int empID;
CEmployee* m_prevEmp;
CEmployee* m_nextEmp;
CEmpList* Lista;
public:
CEmployee();
~CEmployee();
void Draw();
friend class CEmpList;
};
class CEmpList
{
protected:
CEmployee* m_pHead;
CEmployee* m_pTail;
public:
CEmpList();
~CEmpList();
virtual void Draw();
void AddEmployee(CEmployee* pEmp);
bool RemEmployee();
friend class CEmployee;
};
Z góry dzięki za pomoc :)