如何将函数指针传递给函数?

时间:2012-03-31 19:14:34

标签: c++

是否可以创建一个指向另一个函数的函数?这种功能的原型如何?

2 个答案:

答案 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)();
}