C++中我想选一个函数作为参数应该怎么做?给个通俗点的例子谢谢啦!

如题所述

void a1(int& i); // 这个函数作用是把参数i加1
void a2(int& i); // 这个函数作用是把参数i加2

void fun(int val, void (*cf)(int&)){
cf(val); // fun接受一个int和一个函数cf作为参数, 用cf的方式处理int
}

void main(){
int i = 10;
fun(i, a1); // i加1
fun(i, a2); // i加2
}

不过一般来说void fun(int val, void (*cf)(int&))这样的声明比较难看懂.
所以写的时候会用typedef来定义一下.

typedef void(*cf_type)(int&); // 定义cf_type为函数指针类型
void fun(int v, cf_type cf); // 这样就比较好看了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-18
比如void fun( void (*f)(int) );这个函数接受一个返回为空,参数为int 的函数名为参数。
第2个回答  2012-07-18
做函数指针,具体的例子百度函数指针就有...
第3个回答  2012-07-18
对的,使用函数指针!