関数ポインタでこの関数を呼び出す方法は?
double a(double *a){
return *a;
}
私はこれを試しますが、運が悪い:
double (*p)(*double) = &a;
それらの目的に適したチュートリアルがあまり見つかりませんでした。良いリンクを参照してください。
関数ポインタでこの関数を呼び出す方法は?
double a(double *a){
return *a;
}
私はこれを試しますが、運が悪い:
double (*p)(*double) = &a;
それらの目的に適したチュートリアルがあまり見つかりませんでした。良いリンクを参照してください。
このような:
double (*p)(double*) = &a;
ご覧のとおり、関数ポインターの型の関数シグネチャは、実際の関数宣言とまったく同じ方法で記述されています (引数名は必要ありません)。
わずかに変更されたため、すべてが呼び出されるわけではありませんa
:
double deref(double *a)
{
return *a;
}
double test()
{
double (*deref_pointer)(double*) = deref;
double value = 3.14;
return deref_pointer(&value);
}