1. 问题
添加隔离宏后提示
undefined reference to vtable for Cxxx (构造函数或析构函数)
2. 原因
- 基类中虚函数只声明未定义;
- 基类函数所在文件未被添加到可执行文件;
3. 解决方法
- 基类中虚函数添加定义:
(1){} 方式添加定义
(2)= default // 默认构造
(3)或者干脆写成纯虚函数 = 0
- CMakeLists.txt中将文件添加到可执行文件
add_executable(project_name src_files/*.cpp)
参考文章:
纯虚函数
纯虚函数或添加定义
纯虚函数或添加定义
created by shuaixio, 2021.11.06