8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

未定义对 vtable 的引用

AlgorithmAce 2月前

136 0

在构建 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) {};
};
帖子版权声明 1、本帖标题:未定义对 vtable 的引用
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由AlgorithmAce在本站《unit-testing》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 所以,我弄清楚了这个问题,这是由于逻辑错误和对 automake/autotools 世界不完全熟悉造成的。我向 Makefile.am 模板添加了正确的文件,但我不确定构建过程中的哪个步骤实际上创建了 makefile 本身。所以,我使用一个旧的 makefile 进行编译,而这个 makefile 对我的新文件一无所知。

    感谢您的回复和 GCC FAQ 链接。我一定会阅读它以避免因真实原因而发生此问题。

返回
作者最近主题: