C6309

تحذير C6309: وسيطة <رقم> هو فارغة: لا يلتزم إلى تعمل مواصفات <دالة>

تشير هذه الرسالة إلى التي تعليمات برمجية يتم تمرير معلمة فارغة غير متوقعة كوسيطة إلى API المحدد. يمكن أن يؤدي تمرير معلمة فارغة إلى دالة يتوقع معلمة غير الصفرية استثناء غير معالج.

مثال

تنشئ التعليمة البرمجية التالية تحذير 6309 و 6387:

#include <codeanalysis/sourceannotations.h>
using namespace vc_attributes;


void f([Pre(Null=No)] void*);
[returnvalue:Post(Null=Yes)] void* g();

void main()
{
   f(g()); // 6309 and 6387
}

لحل كل من التحذيرات، استخدم تعليمات برمجية التالية:

#include <codeanalysis/sourceannotations.h>
using namespace vc_attributes;


void f([Pre(Null=No)] void*);
[returnvalue:Post(Null=No)] void* g(); // pointer not null

void main()
{
   f(g());
}

راجع أيضًا:

المرجع

C6387