C++ 删除QDomNode抛出
我只是在一堆QDomNodes中循环,根据一些条件,我想删除QDomNode。但是,当我尝试删除它时,会出现以下错误: 对“QDomNode::removeChild(QDomNode*&)”的调用没有匹配的函数 我不清楚为什么,因为removeChild()方法实际上存在于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
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)
。你在给它传递一个指针。我认为写它抛出的东西是误导。它不编译更正确。只需取消引用它,或者更好的是,不要使用指针开始。