C6334
تحذير C6334: operaإلىr sizeof تطبيق إلى تعبير operaإلىr قد ذا غير متوقع
هذا التحذير يشير إلى سوء استخدام sizeofعامل التشغيل. sizeofoperaإلىr، عند تطبيق إلى تعبيراً، تعطي الحجم نوع التعبير الناتج.
على سبيل المثال، في ما يلي تعليمات برمجية:
char a[10];
size_t x;
x = sizeof (a - 1);
xسيتم تعيين القيمة 4, 9 لا، لأن التعبير الناتج هو لم يعد مؤشر إلى الصفيفa، ولكن فقط المؤشر.
مثال
يلي تعليمات برمجية ينشئ هذا التحذير:
void f( )
{
size_t x;
char a[10];
x= sizeof (a - 4);
// code...
}
إلى تصحيح هذا التحذير، استخدم تعليمات برمجية التالية:
void f( )
{
size_t x;
char a[10];
x= sizeof (a) - 4;
// code...
}