我收到一个告诉我的错误

error: declaration of 'virtual FXHost::~FXHost()' throws different exceptions
error: than previous declaration 'virtual FXHost::~FXHost() throw ()'

我不确定如何开始解决此问题,我以前从未遇到过。

在我的.h中,我有:
public:
    virtual                         ~FXHost() throw();

在我的.cpp文件中,我有:
FXHost::~FXHost()
{
   gHost = NULL;
}

指针表示赞赏。

最佳答案

函数声明末尾的throw()是一个异常规范。这意味着该函数永远不会引发异常。在派生类中不能覆盖(只能进一步限制)此错误。

由于您的实现本身不会引发异常,因此您所需要的只是在析构函数声明中添加throw()

See here why you should (not) use this (mis)feature of C++

08-27 09:01