Salut!
J'ai un std::vector de std::unique_ptr et je souhaiterai effacer un std::unique_ptr de mon std::vector avec la méthode erase et donc faire quelque chose comme ceci :
Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
void removeChild (LightComponent* child) {
                for (auto it = children.begin(); it != children.end();) {
                    if (it->get() == child) {
                        it = children.erase(child);
                    } else {
                        it++;
                    }
                }
            }
Mais je ne sais pas du tout comment m'y prendre, j'ai essayé de mettre mon pointeur nu dans un std;;unique_ptr mais ça ne compile pas et en plus le pointeur ne peut avoir qu'un seul propriétaire donc je ne peut pas l'affecter à deux std::unique_ptr.