编译器警告(等级 3,关闭)C4165
“HRESULT
”正在转换为“bool
”;是否确认要这样操作?
在 if
语句中使用 HRESULT
时,除非将该变量显式测试为 HRESULT
,否则 HRESULT
将转换为 bool
。
默认情况下,警告 C4165 处于关闭状态。 有关详细信息,请参阅默认关闭的编译器警告。
示例
以下示例生成 C4165:
// C4165.cpp
// compile with: /W3
#include <windows.h>
#pragma warning(3:4165)
extern HRESULT hr;
int main() {
if (hr) {
// try either of the following ...
// if (FAILED(hr)) { // C4165 expected
// if (hr != S_OK) {
}
}