2010-10-06 21 views
3

我們有一大堆代碼被重構,以至於現在是普通C++的東西現在是COM。檢測HRESULT的使用作爲bools

我已經花了過去幾天打獵了,使我們錯過了一個事實,即以前返回一個bool功能現在返回HRESULT的地方(的問題是事實,S_OK == false化合物)。

有沒有辦法檢測HRESULT被用作bool(反之亦然)的地方?

我們使用的是Visual Studio 2005(VS8)Professional。

還有什麼比@史蒂夫的優秀建議,不涉及安裝團隊版

回答

3

您使用的是Code Analysis for C++

如果是這樣,你應該看到

C6214http://msdn.microsoft.com/en-us/library/z5aa1ca1.aspx

http://msdn.microsoft.com/en-us/library/yy6dx731.aspx

C6217還要驗證你的源代碼(通過#pragma)和項目選擇呢不禁用這些或其他重要的警告。

+0

是的,我們正在編譯/ W4以及/ WX(將警告視爲錯誤),但我們沒有收到任何此類警告)。你發送的鏈接是VS10,你知道它們是否與VS8相關嗎? (沒有編譯指示) – Motti 2010-10-06 15:59:06

+0

@Motti - 我的不好 - 這些來自「Code Analysis for C++」,不僅僅是常規的編譯器警告。請參閱編輯。 – 2010-10-06 16:01:55

+0

聽起來很有希望,我從哪裏下載它(我有一個MSDN訂閱) – Motti 2010-10-06 19:17:11