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 回答