另一个递归问题,对不起,我无法理解这一点。我试图返回一个节点指针,其 id 与提供的 id 匹配。我想我正在正确地遍历树。有什么想法我在这里出错了吗?
//h
Node* findNode(const QString &id, Node *node=NULL)
//cpp
Node* Tree::findNode(const QString &id, Node *node)
{
    if (node == NULL)
        node = root;
    for(int i = 0, end = node ? node->childCount() : -1; i < end ; i++)
    {
        QString nodeId = node->child(i)->id();
        if (nodeId == id)
        {
            return node;
        }
        else
        {
            return findNode(id, node->child(i));
        }
    }
}
感谢您的关注