错误:严重代码描述项目文件行抑制状态错误(活动)E0322 抽象类类型“AirHockeyGame”的对象不允许:AirHockey
我的代码:
#include "AirHockeyGame.h"
int main(int argc, char** argv)
{
AirHockeyGame airHockeyGame;
airHockeyGame.LaunchGame();
return 0;
}
曲棍球游戏代码
#include "PlayGameState.h"
class AirHockeyGame : public PlayGameStateListener
{
public:
AirHockeyGame();
~AirHockeyGame();
}
我做错了什么?
UPD
class PlayGameStateListener
{
public:
virtual ~PlayGameStateListener() {}
virtual void OnLevelLose() = 0;
virtual void OnLevelComplete() = 0;
};
在您定义(在派生类中)基类的所有纯虚函数之前,您的派生类仍然是一个抽象节点类。在这种情况下,您无法创建对象
AirHockeyGame,因为它是一个抽象类。如果您不想覆盖这些函数,那么如果您希望能够实例化该类,就不要将它们设为纯虚拟。你的基类至少有两个成员函数是纯虚拟的。这迫使它们被定义在
AirHockeyGame