Bonjour à tous,
J'ai un problème pour appliquer ce que je trouve sur internet par rapport à la suppression d'un élément d'un vector, ici un pointeur vers un objet.
Le but est de supprimer lors de la destruction d'un enfant le pointeur contenu dans un vector membre du parent, je fais quelque chose comme ça :
L'erreur avec ce code est "no match for 'operator==' (operand types are 'Item*' and 'const Item::remove()::<lambda(Item*)>')"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 this->parent()->liste().erase(std::remove(this->parent()->liste().begin(), this->parent()->liste().end(), [this](Item *item) { return item == this; }), this->parent()->liste().end());
EDIT: Bon finalement j'ai fait un for et un if pour trouvé mon pointeur plutôt que d'utiliser std::remove.
Partager