检测HRESULT作为bool值的使用

3
我们有一个大量的代码,经过重构后,原来的普通C++现在变成了COM。
我花了最近几天的时间寻找我们错过的函数,之前返回了一个bool值,现在返回了HRESULT(问题复杂化的是S_OK == false)。
有没有一种方法可以检测使用HRESULT作为bool值(反之亦然)的地方?
我们正在使用Visual Studio 2005(VS8)专业版。
除了@Steve的建议之外,还有其他不需要安装Team Edition的方法吗?
1个回答

3

您是否正在使用C++代码分析工具?如果是,您应该看到:

C6214

或者

C6217

请确保通过#pragma验证您的源代码和项目选项未禁用这些或其他重要警告。


是的,我们正在使用/W4和/WX(将警告视为错误)进行编译,但我们并没有收到任何此类警告。您发送的链接是针对VS10的,您知道它们是否适用于VS8吗?(没有出现任何pragma) - Motti
@Motti - 对不起,这些来自于“C++ 代码分析”,而不仅仅是常规编译器警告。请查看编辑。 - Steve Townsend
听起来很有前途,我从哪里可以下载它呢(我有MSDN订阅)? - Motti
@Motti - 如果您在MSDN订阅下安装了VS2005,它应该会被内置安装。请参见此处以查找IDE中的位置:http://msdn.microsoft.com/en-us/library/6yz6c9dy(v=VS.80).aspx。由于这会使构建速度变慢,因此我并不总是开启它。 - Steve Townsend
@Motti - 这是“团队版” - 你的订阅包含吗? - Steve Townsend
谢谢 Steve,我不确定,我会查一下。 - Motti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接