如何将函数指针作为参数传递给函数?

4

是否可以创建一个接受指向另一个函数的指针的函数?这样的函数原型是什么样的?


2
函数指针教程:http://www.newty.de/fpt/index.html - surfen
http://www.newty.de/fpt/fpt.html 或类似网站可能会有所帮助。 - phimuemue
2个回答

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";

3
void f(int(*Func)())
{
    int a = Func();
}

对于成员函数:

void f(int(cLass::*Func)())
{
    cLass *c = new cLass;
    int a = (c->*Func)();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接