C'è una ragione particolare per complicarti la vita in questo modo?
Comunque ecco un mini esempio:
void h(int i ) {
cout << i << endl;
}
class Miaclasse {
public:
void merge(void (*ptrfun)(int)) {
for (int i = 0; i < 10; i++)
ptrfun(i+100);
}
void sort(void (Miaclasse::*place)(void(*ptrfun)(int)), void(*ptrfun)(int)) {
(this->*place)(ptrfun);
}
};
int main(int argc, char* argv[]) {
Miaclasse mc;
mc.sort(&Miaclasse::merge,h);
}