Avertissement du compilateur (niveau 3, désactivé) C4165

'HRESULT' est converti en 'bool' ; êtes-vous sûr que c’est ce que vous voulez ?

Lorsqu’un HRESULT élément est utilisé dans une if instruction, il HRESULT est converti en un bool , sauf si vous testez explicitement la variable en tant que HRESULT.

L’avertissement C4165 est désactivé par défaut. Pour plus d’informations, consultez Avertissements du compilateur désactivés par défaut.

Exemple

L’exemple suivant génère l’erreur 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) {
   }
}