C - return使指针为整数而不需要强制转换二叉树



我正在为二叉树编写一个函数,该函数将使用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;
}

相关内容

最新更新