0

在 VC++(VSTS 2008)中,有没有办法为未在默认返回路径上显式返回值的函数(或任何其他快速定位它们的方法)解决编译器错误?

在同一个问题上,是否有任何关于这些函数实际返回什么的问题?

4

3 回答 3

2

我不知道确切的警告编号,但您可以使用 #pragma 警告来强制将特定警告视为错误:

例子:

#pragma warning( error: 4001)

将警告 4001 视为错误

于 2009-10-19T13:37:52.757 回答
1

如果您启用最大警告级别,并将警告视为错误,您肯定会找到您要查找的内容。猜测否则将返回什么:函数返回类型的默认构造对象。

于 2009-10-19T13:34:05.637 回答
0

VC 会警告这个问题的许多实例,但无法检测到一些。我一再发现它在函数模板中缺少这个问题,但我也在一些普通函数中看到了 int 。将警告视为错误(所有警告的编译器开关或特定警告的编译指示)将无法忽视它发现的那些。

对于那些 VC 忽略,您必须使用更全面的工具。VSTS 中的 AFAIK,您还可以为/analyze编译器设置一个开关,让它发现更多问题。

还有许多类似 lint 的程序版本。

使用其他一些编译器也有帮助。第一次将 VS 项目移植到 GCC 可能相当困难,但我认为英特尔的编译器可以用作 VC 的直接替代品并立即编译 VC 项目。Comeau C++也具有与 VC 完全兼容的开关,并且具有非常好的错误消息。

于 2009-10-19T13:45:17.053 回答