Skocz do zawartości
PelzaK

[c++] Problem Z Dziedziczeniem (pilne!)

Rekomendowane odpowiedzi

witam...

Czy może mi ktoś pomóc bo już mnie powoli trafia... Wszystko pod Borlandem C++ Builderem 6 Problem wygląda następująco...

 

plik game.h wygląda tak:

class cManage  // klasa bazowa dla wyświetlania logów i przechowywania ustawień{protected:    sSettings       *settings;              // ustawienia gry    TMemo           *logMemo;               // memo do logowaniapublic:    cManage() {};    ~cManage() {};    void            SetSettings(sSettings* settings_) {settings=settings_;};    void            SetLogMemo(TMemo* memo_) {logMemo=memo_;};    void            Log(AnsiString text){logMemo->Lines->Add(text);};};//------------------------------------------------------------class cGame : public cManage{... };

W powyższym pliku dziedziczenie działa dobrze. Teraz mam inny plik, bot.h, i w nim podobnie...

 

[C++ Error] bot.h(27) _linenums:0'>class cManage;    // jeśli tego nie dam pojawia się bład [C++ Error] bot.h(27): E2303 Type name expectedclass cBot : public cManage{                                      // linia 27- tu pojawia się błądprivate:    int         botMode;public:    cBot(int botMode_,TMemo* logMemo_);    sMove       WhatMove(int playerMove,int  boardState[64],cBoard *board);};
jeśli próbuję skompilować taki kod pojawia się następujacy error i już naprawdę nie wiem o co mu chodzi...

[C++ Error] bot.h(27): E2029 'cManage' must be a previously defined class or struct.

 

Czyli czepia się tego że klasa cManage musi być uprzednio zdefiniowana... ale jest zdefiniowana w pliku game.h dołączonym do pliku bot.h w którym jest problem... Jeśli do pliku bot.h dodam definicję klasy cManage to wywala z kolei błąd zduplikowanej definicji...

 

Jakaś paranoja? Czy brakuje gdzieś jednej linijki.. jak zwykle...?

Edytowane przez PelzaK

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

ok, problem wygląda na rozwiązany z pomocą osób trzecich :)

 

Z pewnych wzgledów zainkludowałem dwustronnie powyższe pliki jeden do drugiego... Wyglada na to że obustronne inkludowanie było przyczyną tego błędu...

 

Można zamknąć :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...