コンパイラの警告 (レベル 1) C4739

変数 'var' への参照はそのストレージ領域を超えています

変数に代入された値が、変数のサイズを超えています。 変数のメモリ位置を超えるメモリが書き込まれるため、データ損失が発生する可能性があります。

この警告を解決するには、その値を格納できるサイズの変数にのみ値を割り当てます。

次の例では C4739 が生成されます。

// C4739.cpp
// compile with: /RTCs /Zi /W1 /c
char *pc;
int main() {
   char c;
   *(int *)&c = 1;   // C4739

   // OK
   *(char *)&c = 1;
}