C++ undefined reference to `vtable for

来源:https://blog.csdn.net/youngstonep/article/details/48825239
项目代码编译时,经常出现类似错误:signleClientReadTest.o: In function ReplayTask::ReplayTask()': /home/ndsl/vdfs/test0922/trunk/build/test/DS/readTest/../../../../src/DS/Task/ReplayTask.h:28: undefined reference tovtable for ReplayTask’

百度如下关键词“undefined reference to `vtable for”,大部分回答都是子类没有实现父类的纯虚函数,的确是这样的。

不过另外的一些情形是,实验室的基类代码中在某个不起眼的地方调用了父类的虚函数(不是纯虚函数的虚函数),然后子类代码中又没有实现它,也会报此类错误。

子类中的构造函数和析构函数也要注意,必须要实现,至少加个{}。

子类构造函数要主动调用父类的构造函数。比如

class father

{

    father(){};

    ~father(){};

}

class son: public father

{

    son():

      father()

    {}

    ~son(){}

}

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值