我遇到了这样一个错误信息:
错误:virtual CPLAT::CP_Window::~CP_Window() 的 throw specifier 更宽松
在析构函数中,我以前从未听说过这种情况。一些谷歌搜索结果显示这可能是GCC 4的问题,但我不确定如何解决,因为我需要使用GCC 4来构建通用二进制文件。
我的环境:OS X 10.6、XCode 3.2.2、使用GCC 4构建通用二进制文件。
问题出在哪里?
错误:virtual CPLAT::CP_Window::~CP_Window() 的 throw specifier 更宽松
在析构函数中,我以前从未听说过这种情况。一些谷歌搜索结果显示这可能是GCC 4的问题,但我不确定如何解决,因为我需要使用GCC 4来构建通用二进制文件。
我的环境:OS X 10.6、XCode 3.2.2、使用GCC 4构建通用二进制文件。
问题出在哪里?
~exception() throw();
。现在,如果我将其用作自己异常的基类,即使在那个析构函数中没有任何操作,我也必须在每个派生类中声明一个析构函数,因为如果我不这样做,gcc会报错。有没有办法避免这种冗余的声明? - Moritz Boththrow()
来定义它的正确函数签名。如果编译器可以自动完成这项工作,那就太好了,但显然它并不那么聪明。 - Jonathan M Davis