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...
}