c 1z 动态异常规范错误

新手上路,请多包涵

我正在尝试使用新的 GCC 版本 7.2.1 编译我的项目,但动态异常规范存在问题:

 error: ISO C++1z does not allow dynamic exception specifications
  MEMORY_ALLOC_OPERATORS(SQLException)

问题是这些错误来自我无法控制的第三方库。

有什么办法可以解决吗?据我所知,我不能告诉编译器用警告替换错误。使用 --std=c++14 不是一个选项,因为我想使用 C++1z 的新功能。

原文由 Pustovalov Dmitry 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答

由于 P0003 ,C++17 删除了动态异常规范。在此之前,它们自 C++11 以来已被弃用。它们不再是语言的一部分,所以没有办法修复它。只要您需要该第三方库,直到它发生变化,您就会被困在 C++14 上。


如果你很绝望,你可以尝试:

 #define throw(...)

但我不会推荐它。

原文由 Barry 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题