lia*_*iaK 7 c++ qt warnings exception-specification
我最近得到了一个已被其他人实现的dll.我必须在我的应用程序中使用它.在他们类的头文件中,他们有函数声明
void func1() throw (CCustomException);
Run Code Online (Sandbox Code Playgroud)
现在,当我编译它时,我收到警告,
忽略C++异常规范,除非指示函数不是_declspec(nothrow)
我阅读了MSDN - 文档,但无法理解它.另外,我不想因为它出现而禁用警告.我想知道我做错了什么而不是禁用它.
我认为我的功能,比如 从dll myfunc()
访问func1()
它没有那个Exception规范列表.因此,我尝试在我的函数中使用相应的异常规范列表,
void myfunc1() throw (CCustomException);
Run Code Online (Sandbox Code Playgroud)
但我仍然收到警告.什么是警告以及如何摆脱它?我在Windows XP中使用Qt 4.5.
Ale*_* C. 11
好吧,这是一个非答案,但我会抛弃异常规范,再也不会使用它.
编辑:我读得太快,我没有看到你自己没有写过这门课.在msvc中摆脱警告的最佳方法是通过#pragma warning(push),然后是#pragma warning(disable:xxxx),其中xxxx是警告代码:
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable:xxxx)
#endif
...
#ifdef _MSC_VER
#pragma warning(pop)
#endif
Run Code Online (Sandbox Code Playgroud)
编辑:禁用警告是完全安全的.异常规范是邪恶的,编译器只告诉你它正在为你禁用它们.即使它打破了标准.
归档时间: |
|
查看次数: |
3298 次 |
最近记录: |