BRUNO_A_S Opublikowano 18 Czerwca 2005 Zgłoś Opublikowano 18 Czerwca 2005 Witam Was Forumowicze Zwracam się do Was z prośbą o pomoc. W C++ (w pliku a.h) mam zadeklarowane 2 klasy w następującej postaci ( i kolejności !!!): //>>>-------(a.h)---------->class ones{ public: int ones_x; int ones_y; twos twod;};class twos{ public: int twos_x; int twos_y;};//<---------(a.h)--------<<< Próba kompilacji zakonczy się fiaskem - co jest oczywiste - ERRORS: error C2146: syntax error : missing ';' before identifier 'twod' error C2501: 'twos' : missing storage-class or type specifiers error C2501: 'twod' : missing storage-class or type specifiers Co nalezy zrobić aby kompilator wiedzial, że deklaracja klasy 'twos' jest w dalszej części kodu?? Ps Zmiana kolejności deklaracji klas nie wchodzi w rachubę !!! Z góry dzięki za pomoc. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 18 Czerwca 2005 Zgłoś Opublikowano 18 Czerwca 2005 Przed definicja klasy ones dopisac class twos; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
BRUNO_A_S Opublikowano 18 Czerwca 2005 Zgłoś Opublikowano 18 Czerwca 2005 Przed definicja klasy ones dopisac class twos; Tu jest właśnie ten problem - coś takiego nie przejdzie. W rezultacie wywalony zostanie błąd: "error C2079: 'twod' uses undefined class 'twos'" Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
NetWalker Opublikowano 18 Czerwca 2005 Zgłoś Opublikowano 18 Czerwca 2005 Qrde nom ciekawy problem ! Jeżeli damy: wskaźnik tylko do klasy to kompiluje bez probelmu [ więc jakoś obejśc sie da ] class ones{ public:int ones_x;int ones_y; twos *twod;};class twos{ public:int twos_x;int twos_y;};Wydaje mi się że po prostu kompilator nie zna jeszcze rozmiaru klasy twos i dlatego wywala bład ... hymm tylko jak to zwalczyć, ciekawe ciekawe ... będe szukał :wink: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
marcinEc Opublikowano 19 Czerwca 2005 Zgłoś Opublikowano 19 Czerwca 2005 Qrde nom ciekawy problem ! Jeżeli damy: wskaźnik tylko do klasy to kompiluje bez probelmu [ więc jakoś obejśc sie da ] Wydaje mi się że po prostu kompilator nie zna jeszcze rozmiaru klasy twos i dlatego wywala bład ... hymm tylko jak to zwalczyć, ciekawe ciekawe ... będe szukał Pouczcie się jeszcze C++ lepiej. Czym się różnic deklaracja od definicji, i co można zrobić z niekompletnym typem, a czego nie. http://forum.4programmers.net/viewtopic.php?id=73942 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...