我怀疑这是一个非常小的问题,但我花了几个小时试图修复它并且没有找到任何东西。
在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是我在其他地方定义的课程。
我错过了什么?
答案 0 :(得分:7)
替换
#include "PlayEngine.h"
带
class PlayEngine;
对于这种情况,声明就足够了。 (我打赌来源是一个循环的包含)
答案 1 :(得分:-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_;
};