C6226
C6226 Uyarı: anlam farklı tamsayı türleri arasındaki örtülü dönüþtürme: hresult -1 atama.E_FAIL yerine kullanmayı düşünün.
Bu uyarıyı belirten bir HRESULT atanan veya bir açık -1 değeri ile başlatıldı.Bu uyarı tamsayı yanlışlıkla karışıklığı tarafından sık sık neden olur ve HRESULT türleri.Sembolik sabit sayısını başarılı olunduğunu göstermek için S_OK kullanılmalıdır.Hata göstermek için E_constant ile başlayan sembolik sabitler kullanılmalıdır.
Daha fazla bilgi için bkz: başarılı ve başarısız makrolar.
Örnek
Aşağıdaki kod, bu uyarı oluşturur:
#include <windows.h>
VOID f( )
{
HRESULT hr;
LPMALLOC pMalloc;
if (FAILED(CoGetMalloc(1, &pMalloc)))
{
hr = -1;
// code ...
}
else
{
// code ...
}
}
Bu uyarı düzeltmek için şu kodu kullanın:
#include <windows.h>
VOID f( )
{
HRESULT hr;
LPMALLOC pMalloc;
if (FAILED(CoGetMalloc(1, &pMalloc)))
{
hr = E_FAIL;
// code ...
}
else
{
// code ...
}
}
Bu uyarı için SCODE türü için eşdeğer HRESULT.