C6388
تحذير C6388: قد لا يكون <وسيطة> <القيمة>: وهذا لا تلتزم إلى مواصفات دالة < اسم دالة >: الخطوط: س، ص
Th هو التحذير يشير إلى أن القيمة غير متوقعة هو المستخدمة في سياق معين. هذا هو عادة تقريرا للقيم التي تم تمريرها كوسائط إلى دالة إلا تتوقع ذلك.
مثال
إنشاء التعليمة البرمجية التالية في C + + هذا التحذير حيث يتوقع DoSomething القيمة خالية، ولكن قد يتم تمرير القيمة التي قد تكون غير فارغة:
#include <string.h>
#include <malloc.h>
#include <codeanalysis\sourceannotations.h>
using namespace vc_attributes;
void DoSomething( [Pre( Null=Yes )] void* pReserved );
void f()
{
void* p = malloc( 10 );
DoSomething( p ); // C6388
// code...
free(p);
}
إلى تصحيح هذا التحذير، استخدم نموذج تعليمات برمجية التالي:
#include <string.h>
#include <malloc.h>
#include <codeanalysis\sourceannotations.h>
using namespace vc_attributes;
void DoSomething( [Pre( Null=Yes )] void* pReserved );
void f()
{
void* p = malloc( 10 );
if (!p)
{
DoSomething( p );
}
else
{
// code...
free(p);
}
}