编译错误:undefined reference to `vtable for ×××`

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

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 `vtable for ×××`)