Есть несколько примеров, но пока я не могу понять решение моей проблемы. У меня естьПередача указателя на функцию-член
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?
}
}
родственный: http://stackoverflow.com/questions/1738313/c-using-class-method-as-a-function-pointer-type –