if(newNode->getData()->name<currNode->getData()->name)
{
if(currNode->getLeftChild()==NULL)
{
return currNode;
}
compare(newNode,currNode->getLeftChild());
}
else if(newNode->getData()->name>=currNode->getData()->name)
{
if(currNode->getRightChild()==NULL)
{
return currNode;
}
compare(newNode,currNode->getRightChild());
}
else
{
currNode==NULL;
return currNode;
}
最后一个没有覆盖任何其他可以采取的路径吗? 为什么我仍然收到错误,说并非所有控制路径都返回值? 我错过了什么?任何关于更好的解决方案的提示都会很好! 谢谢你的时间。
答案 0 :(得分:0)
使用以下代码
if(newNode->getData()->name<currNode->getData()->name)
{
if(currNode->getLeftChild()==NULL)
{
return currNode;
}
compare(newNode,currNode->getLeftChild());
return currNode;
}
else if(newNode->getData()->name>=currNode->getData()->name)
{
if(currNode->getRightChild()==NULL)
{
return currNode;
}
compare(newNode,currNode->getRightChild());
return currNode;
}
else
{
currNode==NULL;
return currNode;
}
You are not returning any value in first and second else part
if u dont want to return anything just use return "";