Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 删除QDomNode抛出_C++_Qt - Fatal编程技术网

C++ 删除QDomNode抛出

C++ 删除QDomNode抛出,c++,qt,C++,Qt,我只是在一堆QDomNodes中循环,根据一些条件,我想删除QDomNode。但是,当我尝试删除它时,会出现以下错误: 对“QDomNode::removeChild(QDomNode*&)”的调用没有匹配的函数 我不清楚为什么,因为removeChild()方法实际上存在于QDomNode类对象上 void update_child_node(QDomNode *node) { if (!node->isElement()) return; QDomElement el

我只是在一堆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);
    }
}
void更新子节点(QDomNode*node){
如果(!node->isElement())返回;
QdomeElement el=node->toElement();
如果(el.tagName()!=“节点”)返回;
//删除旧节点
QDomNode parent=node->parentNode();
parent.removeChild(节点);
}
无效更新子元素(QdomeElement*根){
如果(!root->isElement()){
返回;
}
QDomNodeList nodeList=root->elementsByTagName(“节点”);
for(int k=0;k
removeChild的签名引用:
QDomNode-removeChild(const-QDomNode&oldChild)
。你在给它传递一个指针。

我认为写它抛出的东西是误导。它不编译更正确。只需取消引用它,或者更好的是,不要使用指针开始。