2016-10-18 2 views
0

私は一般的なGameStateクラスを持っている:「GameState」:ベースクラス未定義

他GameStateのためのベースとなると仮定されて
#pragma once 

#include "GameContext.h" 

class GameContext; 

class GameState 
{ 
private: 
protected: 
public: 
    GameState(GameContext* context); 

    GameContext* gameContext = nullptr; 

    virtual void update(float deltaTime) = 0; 
    virtual void draw(float deltaTime) = 0; 

}; 

。私はGameStateの派生クラスを実装しようとしてきた:

#pragma once 
#include <iostream> 

#include "GameState.h" 
#include "GameContext.h" 

class GameStateMenu : public GameState 
{ 
private: 
protected: 
public: 
    GameStateMenu(GameContext* gameContext); 

    void update(float deltaTime); 
    void draw(float deltaTime); 
}; 

私はそれが

言う

class GameStateMenu : public GameState 

GameStateMenuの実装でエラーを取得しています 'GameState':ベースをクラスは未定義です

I haグーグルでグーグルでコードを読んで、すぐに数時間楽しめましたが、まだそれを理解することはできません。 GameStateが何であるかを知っておく必要があるように感じますが、なぜそれが理解できないのか分かりません。私は、問題は、私は、エラーを見ていないことを意味し、私はまた、前方宣言していた循環依存した疑いがあるとして

+0

コード内で何かをする良い方法があれば、私は常に建設的な批評を賛美します! –

+0

私は[あなたの質問を編集しました](http://stackoverflow.com/revisions/40098274/2)私はそれをより明確にし、毛羽の一部を取り除くことを望みます。あまりにも多く編集したと感じたら、いつでも編集を再編集したりロールバックしたりすることができます。 – Tas

+0

問題はありません。 –

答えて

2

(現在のコードは残りの部分をそれを把握するのに十分でない場合にはHERE可能です)コンパイルするときにそれについて。 のGameState.hを削除すると、問題を引き起こしていた1つの循環依存が削除されました。