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;}怎么在其他函數(shù)中調(diào)用這個(gè)函數(shù)???調(diào)用時(shí),應(yīng)該怎么寫???preordertraverse(t,int(* printelement)(elemtype e));int(* printelement)(elemtype e)這個(gè)地方應(yīng)該寫什么?感謝賜教啊~~preordertraverse(t,e);preordertraverse(t,&e);都不行~試過(guò) 哦,對(duì)了,printelement(char e)這是一個(gè)函數(shù) 還是沒解決
2 回答

當(dāng)年話下
TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
int preordertraverse(bitree t,int(* printelement)(elemtype e))
第二個(gè)參數(shù)是個(gè)程序指針,你要傳入一個(gè)返回值為int,參數(shù)為elemtype型的函數(shù)指針才行的撒…
說(shuō)的簡(jiǎn)單點(diǎn)第二個(gè)參數(shù)實(shí)際上是個(gè)回調(diào);
int function1(elemtype e); //聲明一個(gè)全局的函數(shù),函數(shù)內(nèi)容自己去寫
int (*pf)(int)=&function1; //把函數(shù)指針賦值給pf
//調(diào)用
preordertraverse(t,pf);

神不在的星期二
TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
就是preordertraverse(t,e);就行啦
問(wèn)題是要強(qiáng)制轉(zhuǎn)換
- 2 回答
- 0 關(guān)注
- 422 瀏覽