我最近得到了一个已被其他人实现的DLL。我必须在我的应用程序中使用它。在他们的类的头文件,他们有函数声明如何摆脱“忽略C++异常规范”的警告
void func1() throw (CCustomException);
现在,当我编译我得到警告,除了指示功能忽略
C++异常规范不 _declspec( nothrow)
我看了MSDN - Documentation,但是看不清楚。另外,我不想仅仅因为它出现而禁用警告。我想知道我在做什么,而不是禁用它。
我想我的功能,说myfunc()
访问该func1()
从DLL不具有异常规范列表。因此,我尝试在我的功能也有相应的例外规范列表,因为
void myfunc1() throw (CCustomException);
但我仍然收到警告。这个警告是什么,以及如何摆脱它?我在Windows XP中使用Qt 4.5。
它听起来像它正在编译为C++ 0x,其中像这样的异常规范已弃用,而不是C++ 03。可能有编译器选项指定你想要'03,或者只是为了重新启用异常规范,如果你想要其他'0x功能。 – 2010-06-29 13:39:40
@Alexandre C,雅我同意禁用和所有,但警告是关于什么?它为什么会发生,背后的基本原理是什么?我只是想知道这些.. – liaK 2010-06-30 04:10:11
@liaK:查看Alexandre发布的链接。 – Philipp 2010-06-30 05:52:26