我正在迁移到C ++ 14,并渴望采用其[[deprecated]]功能,例如
#include <string>
#include <iostream>
[[deprecated]]
int f() { return 42; }
int main()
{
std::cout << f() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
用编译
g++ example.cpp -std=c++14 -Werror
Run Code Online (Sandbox Code Playgroud)
问题是已弃用的警告被提升(降级?)为错误,并且构建失败。
显然,使用a #pragma来使警告静音可以完全解决问题。有什么方法可以告诉g ++发出警告,却将特定警告排除在错误之外?