当我尝试构建我的应用程序时,链接器会像这样显示错误:
我怀疑这与配置错误的编译器有关,但我不知道如何解决。我的类(class)仅包含一次,因此我认为它与代码无关。我已经尝试重建和清理项目,但是并没有帮助。
有人可以建议解决此问题的方法吗?我的平台是 Win32(C++),我正在使用 MFC 。
最佳答案
像这样编写类时,会出现链接器错误:
lolbutton.h:
class lolbutton {
public:
virtual ~lolbutton();
};
lolbutton::~lolbutton() {
// something...
}
像这样写时不会得到它:
class lolbutton {
public:
virtual ~lolbutton()
{
// inlined something...
}
};
通过将析构函数定义从.h文件移动到.cpp文件,修复链接器错误。这样可以确保析构函数只有一个定义。