Hallo zusammen,
ich hab über das Wochenende versucht mein Spiel von der bisherigen Weise wie die Spielzustandsfunktionen aufgerufen werden (also über zwei switch Anweisungen und dann sowas wie m_pMainMenu->Move(fTime); ) umzustellen auf die Weise wie sie in Kapitel 9 beschrieben (ich hoffe das ihr wisst wovon ich rede; also eine Abstrakte Spielzustandsklasse und die anderen Spielzustände leiten sich davon ab; ein einfaches m_pGameState->Move(fTime) übernimmt dann alles).
Mir ist bewusst, dass wenn man bei einem fortgeschrittenen Entwicklungsstadium etwas so grundlegendes ändert, dass man dann mit Problem rechnen muss, aber ich krieg einen Error, denn ich nicht lösen kann.
Das Problem ist wie folgt: Meine Klasse die die Spielzustände verwaltet (im Buch CMyGame genannt) leitet sich ja von der abstrakten Spielklasse CGame ab. Ich bekomme immer die folgenden Error:
Include\MyGame.h|63|error: invalid use of incomplete type 'struct CGame'|
Include\GameState.h|4|error: forward declaration of 'struct CGame'|
Die entsprechenden Zeilen sehen so aus:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
//MyGame.h Zeile 63:
class CMyGame : public CGame { ....
//GameState.h Zeile 4
class CGame;
|
Für mich sehen die errormedungen danach aus als ob der Compiler die Datei Game.h nicht findet (in der CGame deklariert ist). Ich hab diese aber in MyGame.h includiert. Deshalb bin ich etwas ratlos. Hat jemand mal ähnliche Problem gehabt oder kann mir erklären, was ich falsch mache?
Vielen Dank schonmal,
Foaly