remplir un vector avec un iterator - Programmation
Marsh Posté le 25-04-2001 à 10:58:34
Ben c'est pas du tout ça.
Déjà ton itérateur est pas inititalisé.
Et puis tu delete les pointeurs que tu mets dans ton vecteur !
Pour remplir ton vecteur, utilise plutôt v.push_back(new S(si,sj)) (si S a un constructeur du type: S(int _x=0, int _y=0):X(_x),Y(_y){} )
Et pour désallouer la mémoire, tu pourras faire:
vector<S*>::reverse_iterator it = v.rbegin();
for(;it != v.rend(); ++it) delete(*it);
v.clear();
[edit]--Message édité par Verdoux--[/edit]
Marsh Posté le 25-04-2001 à 11:18:41
Verdoux a écrit a écrit : Pour remplir ton vecteur, utilise plutôt v.push_back |
je pouvais pas faire new...car c'est une struct et pas une classe (enfin pour ce que j'en sais...)
Mais avec push_back et une petite modif, ca marche bien !
Je te remercie ;-)
Marsh Posté le 25-04-2001 à 11:29:11
Bluetooth a écrit a écrit : je pouvais pas faire new...car c'est une struct et pas une classe (enfin pour ce que j'en sais...) Mais avec push_back et une petite modif, ca marche bien ! Je te remercie ;-) |
struct et class c'est fonctionnellement le meme chose meme si semantiquement c'est different...
donc tu peux faire,
S intermediaire
intermediaire.X=...
intermediaire.Y=...
new S(intermediaire)...
Marsh Posté le 25-04-2001 à 10:39:52