そこにはたくさんの例がありますが、それでも私は自分の問題の解決策を理解できないようです。私は持っています
class FooSource{
...
void StartGetFoos(void (*callback)(vector<IFoo*>*, IAsyncResult));
...
}
がStartGetFoos()
呼び出されると、Foosを取得するために実行されたリクエストで、コールバックが保存されます。リクエストが完了すると(約30秒かかります)、保存されたコールバックが結果とともに呼び出されます。
このメソッドのシグネチャを変更できません。
そしてどこか他の場所にクラスがあります
class FooUser {
...
void FooUser::MyCallback(vector<IFoo*>* foos, IAsyncResult result)
{
// marshall to UI thread and update UI
}
void init()
{
fooUser->StartGetFoos(??????);
// how do I pass my callback member function here?
}
}