Problème conceptuel de pointeur
Bonjour,
Je débute en c++ et je me trouve confronté à un problème de pointeur ... :roll:
Grosso modo en pseudo code :
Code:
1 2 3 4 5 6 7 8
|
Pour chaque element d'un vecteur :
Objet o = vector.back();
Objet * t = transform( & o );
if( t ) cout << t ;
delete t;
t = nullptr;
Fin pour |
Sauf que je récupére un message d'erreur qui me dit que le programme supprime 2 fois le même objet ... ce qui est vrai.
Mes besoins : récupérer un objet venant d'un vecteur et le passer à une fonction en pointeur pour le transformer.
J'ai essayé avec un "shared_ptr" avec le meme résultat.
Qu'est ce que ça vaut de ne pas faire vu que l'objet crée en amont sera détruit par le programme ?
Ou auriez vous une solution ?
Merci,