我正在为二进制树编写一个函数,它将使用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;
}
答案 0 :(得分:0)
您必须返回 unsigned int((* B) - &gt; prod.prodID)的地址(* B) 因为你的返回类型是(** B)类型。 类似的东西:
if((*B)->prod.prodID == iden)
{
return (*B)->lchild;
//or
return (*B)->rchild;
}