在Visual Studio中启用单个警告

时间:2010-11-11 06:31:12

标签: c++ visual-studio warnings

是否有编译器开关在Visual Studio中启用单个警告?

我问的原因是我想启用警告C4265,它默认是关闭的。我的搜索只是找到了关闭警告的方法。

即使是名为How to: Enable or Disable Compiler Warnings的微软页面仍然只提到禁用。

4 个答案:

答案 0 :(得分:23)

#pragma warning(default:4265)

似乎会将警告设置为默认设置(将被禁用),但事实并非如此。它打开了。

http://msdn.microsoft.com/en-us/library/2c8f766e%28VS.80%29.aspx

你也可以这样做:

#pragma warning(X:4265)
// where X is the warning level(1,2,3 or 4) that you want this warning to be generated at

答案 1 :(得分:23)

如果要在项目设置中打开(或关闭),则必须转到:

Configuration Properties -> C/C++ -> Command Line然后在其他选项下,您可以输入:

/w3####将警告设置为3级,从而启用它;或者您可以输入/wd####来禁用警告。

答案 2 :(得分:1)

使用:

#pragma warning(default:4265)

并至少使用/W3进行编译。

以下是Microsoft的一个明确示例:

http://msdn.microsoft.com/en-us/library/wzxffy8c(v=VS.90).aspx

答案 3 :(得分:1)

让MatthäusBrandl对#pragma warning的评论更加明显:

如果您的警告级别低于3,则必须使用以下语法:

#pragma warning (<warning level>: 4265)

只有在使用3级或更高级别编译时才能执行

#pragma warning (default: 4265)

因为警告4265,default表示第3级(见MSDN)。

documentation for #pragma warning读取:

  

warning-specifier含义

     

1, 2, 3, 4将给定级别应用于指定的警告。这也会打开默认情况下关闭的指定警告。

     

default将警告行为重置为其默认值。这也会打开默认情况下关闭的指定警告。警告将以默认的,记录的级别生成。