在构建 C++ 程序时,我收到错误消息“未定义对‘vtable 的引用...”此问题的原因是什么?我该如何修复它?我恰好收到以下错误:
在构建 C++ 程序时,我收到错误消息
对“vtable…”未定义引用
导致此问题的原因是什么?我该如何修复它?
碰巧的是,我遇到了以下代码的错误(有问题的类是 CGameModule。)我无论如何也想不出问题出在哪里。起初,我认为这与忘记给虚拟函数提供主体有关,但据我所知,一切都在这里。继承链有点长,但这是相关的源代码。我不确定我还应该提供什么其他信息。
注意:看起来,这个错误是在构造函数中发生。
我的代码:
游戏模块
class CGameModule : public Dasher::CDasherComponent {
public:
CGameModule() : CDasherModule() {};
virtual ~CGameModule();
virtual void HandleEvent(Dasher::CEvent *pEvent);
};
游戏模块.cpp
#include "cgamemodule.h"
void CGameModule::HandleEvent(Dasher::CEvent *pEvent) {}
继承自....
namespace Dasher {
class CEvent;
class CDasherComponent;
};
class Dasher::CDasherComponent {
public:
CDasherComponent() {};
virtual ~CDasherComponent() {};
virtual void HandleEvent(Dasher::CEvent * pEvent) {};
};