Compartilhar via


Aviso do compilador (nível 3, desativado) C4165

'HRESULT' está sendo convertido em 'bool', você tem certeza de que é isso que você quer?

Quando um HRESULT é usado em uma if instrução, o HRESULT é convertido em um bool a menos que você teste explicitamente a variável como um HRESULT.

O aviso C4165 está desativado por padrão. Para obter mais informações, confira Avisos do compilador desativados por padrão.

Exemplo

O exemplo a seguir gera 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) {
   }
}