c++ - c++中的虚函数需要一个实现而没有实现它会给出错误

标签 c++ virtual-functions

#include <iostream>

using namespace std;

class A{
public:
  int a;
  virtual void fun();
};

int main(){A obj;}

获取对“A 的 vtable”的 undefined reference 错误。 我想知道为什么没有实现虚函数会出现这种类型的错误。

最佳答案

那是因为你在声明函数(无论它是普通成员函数还是虚函数)但你没有在任何地方定义它..!!

你可以这样试试,这样就可以正常编译运行了!

class A{ public:int a; virtual void fun(){}; };

int main(){ A obj; }

关于c++ - c++中的虚函数需要一个实现而没有实现它会给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28428203/

相关文章:

c++ - 在桌面上用c++创建文件

c++ - undefined reference to vtable 错误是由现代 g++ 编译器解决的吗?

c++ - 如何成功跳出这个 do-while 循环?

c++ - 如何将 asio 与设备文件一起使用

c++ - 使用模板在 C++ 中实现访问者模式

c++ - 从构造函数调用虚函数

c++ - 从 C++ 中的抽象类派生的类中没有销毁阶段

c++ - 需要澄清类的虚函数和私有(private)成员

c++ - 如何将此 LDAP 代码从 VBS 转换为 C++

c++ - 是否存在使用 "__attribute__((warn_unused_result))"不起作用的条件?