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

fre*_*low 15 c++ warnings function return-value visual-studio-2008

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

bool foobar(int a, int b)
{
    if (a < b) return true;
}
Run Code Online (Sandbox Code Playgroud)

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

Eug*_*nca 39

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

  • 文档:[/ w,/ Wn,/ WX,/ Wall,/ wln,/ wdn,/ wen,/ won(警告级别)](https://msdn.microsoft.com/en-us/library/thxezb7y. ASPX) (2认同)

小智 6

/we4715对我有用。

无论如何,在 Visual Studio 2013 中,它位于 UI 中的Project Settings -> Configuration Properties -> C/C++ -> *Advanced *-> Treat Specific Warnings as Errors 下。添加“4715”。

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

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