美文网首页
编译错误:undefined reference to `vta

编译错误:undefined reference to `vta

作者: EVANMORE | 来源:发表于2018-03-08 20:18 被阅读293次

这个报错的含义是指的虚函数只有定义没有实现。
比如说如下这段代码

class parent:
{
  virtual ~parent();
  virtual void func1();
};

class child: public parent
{
  child();
  ~child();
  void func1();
};

int main()
{
  parent *test = new child();
};

编译的时候就会报错,因为基类中的虚函数func1并没有实现,解决的办法是,

  • func1定义成纯虚函数;
  • 或者,基类中实现func1函数;

相关文章

网友评论

      本文标题:编译错误:undefined reference to `vta

      本文链接:https://www.haomeiwen.com/subject/tdkqgxtx.html