禁用覆盖警告C++

Disable override warning C++

本文关键字:C++ 警告 覆盖      更新时间:2023-10-16

我正在使用标志 -std=c++11 编译我的 c++ 项目,因为我在我的一个类中使用了覆盖,即使如此,我还是收到以下警告:

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

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

我认为

不能单独禁用警告。

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

  • 不要使用您使用的标准(和编译器(不支持的新("新";已经 6 年了...(标准功能。
  • 使用支持该标准功能的编译器,在启用新标准版本的情况下进行编译。

您可以使用杂注禁用警告

#pragma warning( disable : _WARNING_NUMBER_)

其中_WARNING_NUMBER_是警告的编号

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