"C4302: '型キャスト': 'const char *' から 'char' へ切り詰めます" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
warning C4302: '型キャスト': 'const char *' から 'char' へ切り詰めます。

ソース(バグ有り):

#include <stdio.h>
int main()
{
char ptr = (char)"テストメッセージ";
printf("%s\n",ptr); }


原因:
恐らくキャストに誤りがあります。char* から char にキャストしていますが、桁が少ない分情報が失われています。

対処:
キャストを確かめます。


ソース(修正済み):

#include <stdio.h>
int main()
{
char *ptr = (char*)"テストメッセージ";
printf("%s\n",ptr); }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]