我正在为二叉树编写一个函数,该函数将使用unsigned int找到所需的节点。
我的问题是我得到警告"返回使指针从整数没有转换",这可能是一些非常简单的我错过了,但我似乎找不到它,请帮助。
也是"return (*B)->prod "。prodID"是带有警告的那个,谢谢。
struct BST** nodeFinder(struct BST **B,unsigned int iden)
{
if((*B)->prod.prodID == iden){
return (*B)->prod.prodID;
}
if(iden < (*B)->prod.prodID){
nodeFinder(&(*B)->lchild,iden);
}else{
nodeFinder(&(*B)->rchild,iden);
}
(*B)->rchild = NULL;
return &(*B)->rchild;
}
你必须返回地址(*B) instated unsigned int ((*B)->prod.prodID)因为返回类型是(**B)类型。例如:
if((*B)->prod.prodID == iden)
{
return (*B)->lchild;
//or
return (*B)->rchild;
}