Board index » cppbuilder » forward declaration problem
master.jau
![]() CBuilder Developer |
forward declaration problem2006-03-31 05:17:51 PM cppbuilder52 Hi, I'm having a small problem with forward declaration. Am I doing something wrong? Please HELP ;) compiler output: Build [C++ Error] Unit1.cpp(31): E2029 'Regula' must be a previously defined class or struct [C++ Error] Unit1.cpp(44): E2034 Cannot convert 'RegulaPliku *' to 'Regula *' class RegulaPliku; class Regula; class RegulaPliku : Regula { public: char nazwa[256]; int rozmiar; }; class Regula { public: int typ; static Regula wczytajRegule() { Regula *r = new RegulaPliku(); return *r; } }; class OpisAplikacji { public: char nazwa[256]; char wersja[64]; int liczba_regul; vector<Regula>reguly; void wczytaj(FILE* plik) { fread(nazwa,sizeof(nazwa),1,plik); fread(wersja,sizeof(wersja),1,plik); fread(&liczba_regul,sizeof(liczba_regul),1,plik); reguly.clear(); for ( int i = 0 ; i < liczba_regul ; i++) reguly.push_back(Regula::wczytajRegule()); } }; class OpisyAplikacji { public: vector<OpisAplikacji>opisy; bool wczytaj(AnsiString nazwa_pliku) { FILE* plik = fopen(nazwa_pliku.c_str(),"rb"); if (plik == NULL) return false; int rozmiar_pliku = fseek(plik,0,SEEK_END); fseek(plik,0,SEEK_SET); while (fseek(plik,0,SEEK_SET) < rozmiar_pliku) { OpisAplikacji *oa = new OpisAplikacji(); oa->wczytaj(plik); } fclose(plik); return true; } }; |