Condividi tramite


Avviso del compilatore (livello 3, off) C4165

'HRESULT' viene convertito in 'bool'; sei sicuro che questo è quello che vuoi?

Quando un HRESULT oggetto viene usato in un'istruzione if , l'oggetto HRESULT viene convertito in un bool oggetto a meno che non si esegua un test esplicito per la variabile come HRESULT.

Avviso C4165 disattivato per impostazione predefinita. Per altre informazioni, vedere Avvisi del compilatore disattivati per impostazione predefinita.

Esempio

L'esempio seguente genera l'errore 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) {
   }
}