我可以将特定警告视为错误吗?

时间:2011-01-20 18:16:58

标签: c++ visual-studio-2008 function warnings return-value

以下是我在学生代码中有时会看到的模式的简化版本:

bool foobar(int a, int b)
{
    if (a < b) return true;
}

当然,真正的代码更复杂。 Visual Studio报告警告C4715(并非所有控制路径返回值),我想将所有警告C4715视为错误。这可能吗?

4 个答案:

答案 0 :(得分:38)

这应该可以解决问题:#pragma warning (error: 4715) 或者/we4715命令行选项(参见/w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (Warning Level)(由Tom Sigerdas提供))。

答案 1 :(得分:2)

将编译器警告级别设置为级别4(在Visual Studio中),它会将所有警告视为错误。优良作法是让学生编译他们的代码,无需任何警告和错误:)

此外,打开/ WX编译器选项。

答案 2 :(得分:2)

/we4715适合我。

无论如何,在Visual Studio 2013中,它位于项目设置下的UI中 - &gt; 配置属性 - &gt; C / C ++ - &gt; *高级* - &gt; 将特定警告视为错误。添加“4715”。

文档:http://msdn.microsoft.com/en-us/library/thxezb7y.aspx

(请注意,此页面列出了VS2013的错误UI属性。)

答案 3 :(得分:0)

我在(VB)项目文件中添加了以下内容,并且可以正常工作:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">  
<WarningsAsErrors>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,41997</WarningsAsErrors>
</PropertyGroup>