class Agent
{
public:
Agent() {}
~Agent() {}
virtual bool Do() = 0;
};
class GameAgent : public Agent
{
public:
GameAgent() {}
~GameAgent() {}
};
我想将此GameAgent
初始化为
GameAgent* m_pGameAgent = new GameAgent();
我收到了此错误消息。
错误12错误C2259:' GameAgent' :无法实例化抽象类
我该如何解决?我无法改变Agent
的结构。
答案 0 :(得分:3)
在您发布的代码中,GameAgent
和Agent
都不是抽象的;所以我们必须猜测是什么原因造成你真实代码中的错误。
假设真实的Agent
是抽象的(因为你说它是),那么GameAgent
将必须覆盖它声明的任何纯虚函数,以便不是抽象本身。
答案 1 :(得分:1)
使类GameAgent
不是抽象的。
答案 2 :(得分:1)
我在GameAgent中实现Do,并解决它 谢谢大家