C++声明析构函数,但是未实现错误

开发平台:Microsoft Visual Studio 2022

错误提示:

无法解析的外部符号 “public: __cdecl Immortal::~Immortal(void)”
(??1Immortal@@QEAA@XZ),函数 “void __cdecl testImmortal(void)”
(?testImmortal@@YAXXZ) 中引用了该符号

BUG原因:由于声明了析构函数,编译器不会自动创建析构函数。当对象销毁时编译器去调用析构函数,但是却找不到实现,所以报错。

解决方案:

1)实现Immortal的析构函数
2)删除析构函数声明让编译器自己去实现

你可能感兴趣的:(写BUG记录,c++,visual,studio,开发语言)