并非所有控制路径都返回值

时间:2014-03-14 06:59:31

标签: path controls

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;
}

最后一个没有覆盖任何其他可以采取的路径吗? 为什么我仍然收到错误,说并非所有控制路径都返回值? 我错过了什么?任何关于更好的解决方案的提示都会很好! 谢谢你的时间。

1 个答案:

答案 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 "";