"C2440: '=' : 'char [<要素数>]' から 'double' に変換できません。" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2440: '=' : 'char [<要素数>]' から 'double' に変換できません。 この変換が可能なコンテキストはありません。

ソース(バグ有り):

#include <stdio.h>
#include <stdlib.h>
int main() 
{
//文字列をdouble型に変換
double pai_double;
char pai_str[]="3.141592";
pai_double = pai_str;
printf("%f\n", pai_double);
return 0; }


原因:
char型からdouble型への変換方法に誤りがあります。

対処:
char型からdouble型への変換には atof を使用します。


ソース(修正済み):

#include <stdio.h>
#include <stdlib.h>
int main() 
{
//文字列をdouble型に変換
double pai_double;
char pai_str[]="3.141592";
pai_double = atof(pai_str);
printf("%f\n", pai_double);
return 0; }

スポンサード リンク



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