"C2064: 1 引数を取り込む関数には評価されません。" に関する原因と対処

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

スポンサード リンク

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

コンパイルエラーメッセージ:
error C2064: 1 引数を取り込む関数には評価されません。

ソース(バグ有り):

#include "stdafx.h"
int myfunc(int a);
int main()
{
int myfunc=myfunc(0);
printf("%d",myfunc);
return 0; } int myfunc(int a) {
return a+1; }


原因:
関数では無いポインタを関数として評価しようとしています。この例では変数として定義したアドレスを関数として使用しています。
具体的には関数と変数では同じ名前は使用できません。

対処:
関数と変数で同じ名前を使用しているため、どちらかを違う名前で定義します。


ソース(修正済み):

#include "stdafx.h"
int myfunc(int a);
int main()
{
int a=myfunc(0);
printf("%d",a);
return 0; } int myfunc(int a) {
return a+1; }

スポンサード リンク



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