"C2440: '初期化中' : 'int' から 'int *' に変換できません。 " に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2440: '初期化中' : 'int' から 'int *' に変換できません。 整数型からポインター型への変換には reinterpret_cast、C スタイル キャストまたは関数スタイル キャストが必要です。

ソース(バグ有り):

#include<stdio.h>
int main( void )
{
int a = 1;
int *b = a;
printf( "b=%d\n", a);
return 0; }


原因:
ポインタ型変数へ整数型変数を代入しようとしました。

対処:
&演算子で整数型変数へのアドレスを渡します。


ソース(修正済み):

#include<stdio.h>
int main( void )
{
int a = 1;
int *b = &a;
printf( "b=%d\n", a);
return 0; }

スポンサード リンク



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