e5791.c

sizeof(プリミティブポインタ型)は変

/* 警告:   A:e5791: sizeof(ptr)はポインタのサイズが返るだけで、32bit時4,64bit時8で固定です。  */

修正前 void f() { int *x = new int[100]; memset(x, 0, sizeof(x)); } 修正後 #define XSIZE 100 void f() { int *x = new int[XSIZE]; memset(x, 0, sizeof(int) * XSIZE); }
解説 malloc,new等で動的に確保した配列のサイズはsizeofでは求める事はできません。