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);
- 2 回答
- 0 关注
- 350 浏览
添加回答
举报
0/150
提交
取消