当我尝试构建我的应用程序时,链接器会像这样显示错误:



我怀疑这与配置错误的编译器有关,但我不知道如何解决。我的类(class)仅包含一次,因此我认为它与代码无关。我已经尝试重建和清理项目,但是并没有帮助

有人可以建议解决此问题的方法吗?我的平台是 Win32(C++),我正在使用 MFC

最佳答案

像这样编写类时,会出现链接器错误:

lolbutton.h:

class lolbutton {
public:
  virtual ~lolbutton();
};

lolbutton::~lolbutton() {
  // something...
}

像这样写时不会得到它:
class lolbutton {
public:
  virtual ~lolbutton()
  {
     // inlined something...
  }
};

通过将析构函数定义从.h文件移动到.cpp文件,修复链接器错误。这样可以确保析构函数只有一个定义。

09-09 20:06