是否可以创建一个指向另一个函数的函数?这种功能的原型如何?
答案 0 :(得分:6)
typedef int (*func)(float, char);
int something_that_takes_a_func(func f) { return f(3.14, 3); }
int foo(float a, char b) { return a - b; }
std::cout << something_that_takes_a_func(&foo) << "\n";
答案 1 :(得分:3)
void f(int(*Func)())
{
int a = Func();
}
和成员函数:
void f(int(cLass::*Func)())
{
cLass *c = new cLass;
int a = (c->*Func)();
}