以下是我在学生代码中有时会看到的模式的简化版本:
bool foobar(int a, int b)
{
if (a < b) return true;
}
当然,真正的代码更复杂。 Visual Studio报告警告C4715(并非所有控制路径返回值),我想将所有警告C4715视为错误。这可能吗?
答案 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>