删除QDOMNODE投掷

Remove QDomNode throws

本文关键字:投掷 QDOMNODE 删除      更新时间:2023-10-16

我只是在一堆qdomnodes上循环,并且基于某些情况,我想删除qdomNode。但是,当我尝试删除它时,我会收到此错误:

无匹配函数,可以呼叫'qdomNode :: removechild(qdomNode*&('

我不清楚为什么,因为removeChild((方法实际上确实存在于qdomNode类对象上。

void update_child_node(QDomNode *node) {
    if (!node->isElement()) return;
    QDomElement el = node->toElement();
    if (el.tagName() != "node") return;
    // remove old node
    QDomNode parent = node->parentNode();
    parent.removeChild(node);
}
void update_child_elements(QDomElement *root) {
    if (!root->isElement()){
        return;
    }
    QDomNodeList nodeList = root->elementsByTagName("node");
    for(int k = 0;k < nodeList.count(); k++)
    {
        QDomNode node = nodeList.at(k);
        update_child_node(&node);
    }
}

removeChild的签名,请参考:QDomNode removeChild(const QDomNode & oldChild)。您将其传递给指针。