Aracılığıyla paylaş


C6334

C6334 Uyarı: bir işlece sahip bir ifade için uygulanan sizeof operatörü beklenmeyen sonuçlar verim

Bu uyarıyı bir kötüye kullanma gösterir sizeof işleci.sizeof Bir ifadeye uygulandığında operatörü, sonuçta elde edilen deyim tipi boyutunu ortaya çıkarır.

Örneğin, aşağıdaki kodda:

     char     a[10];
     size_t   x;

     x = sizeof (a - 1);

xSonuçta elde edilen deyim artık dizi işaretçisine olduğundan değeri 4, 9 değil, atanmış a, ancak yalnızca bir işaretçi.

Örnek

Aşağıdaki kod, bu uyarı oluşturur:

void f( )
{   
  size_t x;
  char a[10];

  x= sizeof (a - 4);
  // code...
}

Bu uyarı düzeltmek için şu kodu kullanın:

void f( )   
{
  size_t x;
  char a[10];

  x= sizeof (a) - 4;
  // code...
} 

Ayrıca bkz.

Başvuru

sizeof operatörü