コールバックを格納する変数があるとします。
void* (*function)(int, double);
ここで、このコールバックを返す関数を作成したいと思います。ユーザーがコールバックに直接アクセスするのではなく、関数によってアクセスする必要があります。これは機能しません:
void* (*)(int, double) getCallback();
私の質問は次のとおりです。そのような関数のプロトタイプはどのようになりますか?
typedef
コールバック タイプ:
typedef void* (*pf)(int, double);
pf getCallback();
これにより、間違った署名などを手動で入力することによる間違いがなくなります。
さて、これの直接的な構文は
void* (*getCallback())(int, double);
しかし、おそらく typedef を使用する方がより適切で読みやすいでしょう:
typedef void* (*CallbackFunc)(int, double);
CallbackFunc getCallback();