【发布时间】:2017-07-27 16:10:48
【问题描述】:
C++17 删除了 C++11 中已弃用的若干语言和库功能。
因此,一些完全使用 exception specifications 或 register 变量的旧库头文件无法编译。
gcc 是否有允许 C++17 代码包含已删除功能的标志?
【问题讨论】:
-
除了
-std=c++11,你的意思是? -
你应该解决这些问题。你已经有六年这样做了。而且它不像
register或异常规范实际上在做任何事情...... -
auto_ptr与 Wandbox 上的-std=c++1z一起编译:wandbox.org/permlink/w5o84WttALb35e4u。 “我的旧库头文件无法编译”是什么意思? -
@ks1322 一个例子是 Oracle 的 "SQL Connector",它仍在使用异常规范。 (悲伤的脸)
-
#define register#define throw(...)技术上是 UB,但可能有用。