2

これは非常に小さな問題だと思いますが、修正に数時間を費やしましたが、何も見つかりませんでした。

Game.h(ヘッダーファイル)には、次のものがあります。

#pragma once

#include "PlayEngine.h"

class Game {

public:
    int Init();
    int Run();
    int Shutdown();

private:
    enum State { ST_MENU, ST_PLAYING } state;
    PlayEngine* playengine_;
};

コンパイラはに構文エラーをスローし、の前にPlayEngine* playengine_欠落があると文句を言います。PlayEngineは、私が他の場所で定義したクラスです。;*

私は何が欠けていますか?

4

2 に答える 2

7

交換

#include "PlayEngine.h"

class PlayEngine;

この場合、宣言で十分です。(そして私はソースが循環包含であると確信しています)

于 2012-06-26T22:05:16.640 に答える
-1

列挙型宣言の最後にある状態を削除します。変数を個別に宣言します。

#pragma once
#include "PlayEngine.h"  
class Game {  
    public:     
        int Init();     
        int Run();     
        int Shutdown();  
    private:     
        enum State { ST_MENU, ST_PLAYING };  
        State state;   
        PlayEngine* playengine_; 
};
于 2012-06-26T22:05:50.153 に答える