回 帖 发 新 帖 刷新版面

主题:确认一下自己想的是否正确,关于函数指针做参数的问题

首先定义了这么个函数指针做参数的函数,
 void  xFunc(void (*yf)(int x,int y));

被调用函数为
void max(int a,int b){
printf("%d\n",a>b?a;b);
}

我想调用xFunc,比较2和3的大小,如何调用这个xFunc呢?
我认为xFunc无法做到,除非再加参数,是不是这样啊,还是另有玄机,知情者赐教!

回复列表 (共2个回复)

沙发

应该这样写
void  xFunc(void (*yf)(int x,int y),int x,int y);

这样调用 xFunc(max,2,3);

板凳


如此的话,要编写通用的  以    含有参数的函数指针   为  参数  的函数的话,

就需要用到   ... 不定参数 了吧

例如如此

void xFunc( (*yf)(...),... )

这种写法除了printf里见过外,其他的地方还真少见
请问,上面的函数有没有错啊?实现上会有困难吗?

我来回复

您尚未登录,请登录后再回复。点此登录或注册