C6226
تحذير C6226: فريق العمل الضمني بين مختلف دلالياً عدد صحيح أنواع: تعيين-1 إلى HRESULT. استخدام E_FAIL بدلاً منه
Th هو التحذير يشير إلى أن HRESULTهو المعينة أو تهيئة مع القيمة 1- صريحة. Th هو تحذير هو عادة ما ينتج عن الارتباك مقصود صحيحاً و HRESULTأنواع. للإشارة إلى نجاح، رمزي ثابتة S_OKيستخدم. للإشارة إلى فشل، يجب استخدام الثوابت الرمزية بدءاً مع E_constant.
مثال
يلي تعليمات برمجية ينشئ هذا التحذير:
#include <windows.h>
VOID f( )
{
HRESULT hr;
LPMALLOC pMalloc;
if (FAILED(CoGetMalloc(1, &pMalloc)))
{
hr = -1;
// code ...
}
else
{
// code ...
}
}
إلى تصحيح هذا التحذير، استخدم تعليمات برمجية التالية:
#include <windows.h>
VOID f( )
{
HRESULT hr;
LPMALLOC pMalloc;
if (FAILED(CoGetMalloc(1, &pMalloc)))
{
hr = E_FAIL;
// code ...
}
else
{
// code ...
}
}
لهذا التحذير، SCODEنوع هو المكافئ إلى HRESULT.