C ++ 17删除了C ++ 11中不推荐使用的几种语言和库功能。
因此,一些使用exception specifications或register
变量的旧库头文件无法直接编译。
gcc是否有一个标志允许C ++ 17代码包含已删除的功能?
答案 0 :(得分:4)
通常,您可以使用-fpermissive
取回使用该语言删除的功能。这对于GCC7中的throw
说明符不起作用,这可能是一个错误,你应该这样报告。毕竟,-fpermissive
可以启用隐式int
s。
register
删除结果现在只是警告,可以使用-Wno-register
轻松禁用。
答案 1 :(得分:0)
auto_ptr和注册应该是警告。你可以用-Wno-register -Wno-deprecated-declarations来取消它们。我不知道你是否可以对抛出错误做些什么。