小编vir*_*ith的帖子

警告为错误时使用[[deprecated]]属性(-Werror)

我正在迁移到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 ++发出警告,却将特定警告排除在错误之外?

c++ compiler-errors g++ compiler-warnings c++14

2
推荐指数
2
解决办法
1168
查看次数

标签 统计

c++ ×1

c++14 ×1

compiler-errors ×1

compiler-warnings ×1

g++ ×1