为了账号安全,请及时绑定邮箱和手机立即绑定

您好,求问这个函数怎么调用啊?

您好,求问这个函数怎么调用啊?

C++ C
Helenr 2021-11-11 18:07:01
int preordertraverse(bitree t,int(* printelement)(elemtype e)){if(t){if(printelement(t->data))if(preordertraverse(t->lchild,printelement))if(preordertraverse(t->rchild,printelement))return OK;return ERROR;}else return OK;}怎么在其他函数中调用这个函数啊?调用时,应该怎么写啊?preordertraverse(t,int(* printelement)(elemtype e));int(* printelement)(elemtype e)这个地方应该写什么?感谢赐教啊~~preordertraverse(t,e);preordertraverse(t,&e);都不行~试过 哦,对了,printelement(char e)这是一个函数 还是没解决
查看完整描述

2 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

int preordertraverse(bitree t,int(* printelement)(elemtype e))
第二个参数是个程序指针,你要传入一个返回值为int,参数为elemtype型的函数指针才行的撒…
说的简单点第二个参数实际上是个回调;
int function1(elemtype e); //声明一个全局的函数,函数内容自己去写
int (*pf)(int)=&function1; //把函数指针赋值给pf
//调用

preordertraverse(t,pf);

查看完整回答
反对 回复 2021-11-14
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

就是preordertraverse(t,e);就行啦
问题是要强制转换

查看完整回答
反对 回复 2021-11-14
  • 2 回答
  • 0 关注
  • 350 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信