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) {
}
}