次の方法で共有


C6334

警告 C6334: 演算子を伴う式に適用される sizeof 演算子は、予期しない結果を生成する可能性があります

この警告は、sizeof 演算子の使用方法が誤っていることを示します。sizeof 演算子を式に適用した場合、結果の式の型のサイズが出力されます。

たとえば次のようなコードがあるとします。

     char     a[10];
     size_t   x;

     x = sizeof (a - 1);

結果の式は配列 a のポインターではなくなり、単なるポインターになるため、x には値 9 ではなく 4 が代入されます。

使用例

この警告が発生するコード例を次に示します。

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 演算子