Quote:
La librairie te renvoie un pointeur, MAIS pas forcément en créant une instance. Je dirais même probablement pas. Bref par cette ligne de code tu as une adresse et c'est tout. A priori tu ne dois pas faire de delete dessus, c'est la librairie qui va s'en charger quand tu vas faire un delete sur la racine par exemple. Si tu as déjà fait un delete avant sur un noeud, il y aura un pointeur invalide quelque part dans l'arborescence XML et ça va planter quand la librairie voudra effacer le tout.
C'est la confirmation que j'attendais :D
Juste pour être sur :p
Quote:
e ne sais pas exactement car tu ne montres pas de code
void recherche(TiXmlNode *ti, std::vector<std::string>& out)
{
TiXmlNode *tNode;
if(ti != NULL){
tNode = ti;
}else{
tNode = this->docFich->RootElement();
}
tNode = tNode->FirstChild();
if(!tNode){return;}
while(tNode->ToElement()){
if(std::string(tNode->Value()) == std::string("baliseRecherchee"))){
if(tNode->FirstChild()){
out.push_back(std::string(tNode->FirstChild()->Value()));
}
}
recherche(tNode, out);
if(tNode != tNode->Parent()->LastChild()){
tNode = tNode->NextSibling();
}else{
break;
}
}
return;
}
C'est la confirmation que j'attendais :D
Juste pour être sur :p