禁用覆盖警告C ++

时间:2017-06-13 16:36:23

标签: c++ c++11 override warnings

我正在用标志-std = c ++ 11编译我的c ++项目,因为我在我的一个类中使用了override,即使这样我也收到了这个警告:

warning: override controls (override/final) only available with -
std=c++11 or -std=gnu++11 [enabled by default]

我想知道如何禁用此警告,或者如果您能告诉我我做错了什么,我将不胜感激。

2 个答案:

答案 0 :(得分:1)

我认为警告不能单独禁用。

我建议你修复bug,而不是禁用警告。您的代码使用C ++ 11中引入的语言功能,但您可以在启用早期标准的情况下进行编译。您有两种选择:

  • 不要使用您使用的标准(和编译器)不支持的新(“新”;已经6年......)标准功能。
  • 使用支持该标准功能的编译器,启用新标准版本进行编译。

答案 1 :(得分:0)

您可以使用pragma

禁用警告
#pragma warning( disable : _WARNING_NUMBER_)

其中_WARNING_NUMBER_是您的警告编号

但是,您应该始终听取编译器并修复警告而不是禁用