次の方法で共有


警告 C6396

sizeof('integerConstant') は常に基となる整数型のサイズを返します

解説

この警告は、整数定数が sizeof 引数として使われている場所を示します。 このような式は、常に定数の型のサイズを返します。 代わりに sizeof(type) と書くことをお勧めします。 この警告は、バッファー オフセット計算の一般的な入力ミスをキャッチします。

buffer_size += sizeof(UNICODE_NULL) は一般的な慣用句であるため、このチェックでは文字リテラルは無視されます。

void f()
{  
    int a = sizeof(5);         // C6396 reported here
}

この問題を解決するには、整数定数をその型に置き換えてください。

void f()
{  
    int a = sizeof(int);         // no C6396 reported here
}