C6386

تحذير C6386: تجاوز سعة احتياطي: الوصول إلى < اسم احتياطي >، الحجم قابل للكتابة هو قد يكتب <size1> وحدات البايت، ولكن <size2> وحدات البايت: الخطوط: س، ص

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

مثال

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

#define MAX 25

void f ( )
{
  char ar[MAX];
  //Code ...
  ar[MAX] = '\0';
}

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

#define MAX 25

void f ( )
{
   char a[MAX];
   // code...
   a[MAX - 1] = '\0';
} 

راجع أيضًا:

المرجع

C6201