共用方式為


C6334

更新:2007 年 11 月

警告 C6334: 將 sizeof 運算子套用至已有一個運算子的運算式,可能會產生未預期的結果

這項警告表示誤用 sizeof 運算子。將 sizeof 運算子套用至運算式時,會產生結果運算式的類型大小。

例如,在下列程式碼中:

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

請參閱

參考

sizeof Operator