原作: char size = sizeof(X); unsigned char * strp = "string";
修正案: size_t size = sizeof(X); char * strp = "string";
解説1: 主にせまい型(char/short)を整数型(int)で初期化すると、本警告が出ます。 せまい型(char/short)は、オーバーフローの危険性があるので 極力 int 型を推奨します。 解説2: 文字列を指すポインタは、「char *」が基本です。 文字列内に ascii コードしかないのであれば unsigned を付ける必要はありません。