Convertir itérateur en objet

Convertir itérateur en objet - C++ - Programmation

Marsh Posté le 19-04-2005 à 19:54:00    

salut,
 
je désire convertir un itérateur en un objet, c'est a dire, j'ai un set d'objet personne (avec nom et prénom), je parcours le set avec un itérateur et j'aimerai pouvoir mettre le retour de chaque itérateur dans un une personne temp de type personne
 
Voila un explication plus concrète
 
for(it=bd.begin();it!=bd.end();it++){
 cout<<*it;
 //temp=it; =>devrait mettre la valeur dans temp
 
}
 
j'affiche donc chaque élément de mon set et j'aimerai pouvoir mettre la valeur dans temp
 
merci bcp
     

Reply

Marsh Posté le 19-04-2005 à 19:54:00   

Reply

Marsh Posté le 19-04-2005 à 20:00:37    

temp = *it;

Reply

Marsh Posté le 19-04-2005 à 20:15:58    

ben mince alors j'essais depuis tantot et pas moyen!
 
faut rien faire d'autre?

Reply

Marsh Posté le 19-04-2005 à 20:19:04    

ben non, ça marche et tout le monde fait comme ça

Reply

Marsh Posté le 19-04-2005 à 20:24:49    

et si je veux exécuter une méthode membres de la classe personne, a chaque objet de mon set, je dosi faire comment?
 
car il me marque qu'il ne trouve pas de méthode pour l'itérateur alors que je veux pour l'objet que représente l'itérateur!!
 
en gros j'amerai un truc du genre: it.ma_fonctio();
 
je comprend le message d'erreur mais je voix pas comment résoudre cela!!
 
merci bcp

Reply

Marsh Posté le 19-04-2005 à 20:25:40    

Taz a écrit :

ben non, ça marche et tout le monde fait comme ça


 
oui j'ai vu, c'était un prob chez moi

Reply

Marsh Posté le 19-04-2005 à 20:37:50    

it->ma_methode() ....

Reply

Marsh Posté le 19-04-2005 à 20:50:34    

j'avais déjà essayé mais ca marche pas
 
voila monde code:
     

Code :
  1. for(it=bd.begin();it!=bd.end();it++){
  2. cout<<*it;
  3. it->efface_occ();
  4. }


 
voila ma méthode:

Code :
  1. void mot::efface_occ(){
  2. tab.clear();
  3. };


 
voila mon message d'erreur:
[dale@localhost labo4]$ make
g++ -I"." -c main.C
main.C: In function `int main()':
main.C:110: erreur: passant « const mot» comme «cet» argument de « void mot::efface_occ() » écarte les qualificateurs
make: *** [main.o] Erreur 1
 
 
quelqu'un sait me dire?

Reply

Marsh Posté le 19-04-2005 à 20:52:10    

c'est quoi la déclaration de it ?

Reply

Marsh Posté le 19-04-2005 à 21:09:50    

voila la déclaration de mon set: set<mot,tri> bd
et la déclaration de mon iterator: set<mot,tri>::iterator
 
on peut m'aider?

Reply

Marsh Posté le 19-04-2005 à 21:09:50   

Reply

Marsh Posté le 19-04-2005 à 21:10:07    

et celle de la fonction qui fait ton for() [:aloy]


Message édité par Joel F le 19-04-2005 à 21:10:35
Reply

Marsh Posté le 19-04-2005 à 21:16:46    

ben je l'ai mis plus haut ;-)
 
je vien sjuste de toruver une possibilité un ti peu plus longue mais qui marche:

  • il s'agit de passer par un élément temp

  • je supprims le mot dans mon set

  • j'applique la méthode  

  • et puis je réinsèrec'est un peu plus long mais cela marche


mais si on pouvait m'expliquer pour faire avec l'iterator, ce serait encor mieux ;-)

Reply

Marsh Posté le 19-04-2005 à 21:20:29    

t'as un const là ou il faut pas.

Reply

Marsh Posté le 19-04-2005 à 21:21:30    

c'est lorsque je fais ma copie, je test cela demain matin et je redis quoi!

Reply

Marsh Posté le 19-04-2005 à 21:29:54    

bon dieu, la qualité de la traduction des messages d'erreurs [:theepsilon] Si c'st pour faire ca, autant rien faire hein ? [:pingouino]


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 19-04-2005 à 21:32:27    

chrisbk a écrit :

bon dieu, la qualité de la traduction des messages d'erreurs [:theepsilon] Si c'st pour faire ca, autant rien faire hein ? [:pingouino]


 
 
si tu parle de ce qeu j'ai comme message d'erreeur, sache que je travail sous fedora core 3!! et donc voilà

Reply

Marsh Posté le 19-04-2005 à 21:48:28    

chepa_jemls a écrit :

si tu parle de ce qeu j'ai comme message d'erreeur, sache que je travail sous fedora core 3!! et donc voilà


 
T'es un hardcore coder  [:taimp]

Reply

Marsh Posté le 19-04-2005 à 21:57:15    

oh oui, j'aime quand tu ecartes mes qualificateurs comme ca [:petrus75]


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 20-04-2005 à 08:05:53    

ben vi mais tu voix, étant encor étudiant on m'impose encor ma façon de faire!!
 
et il faut que mon prog tourne sur un serveur sun donc je préfère directeemnt le faire avec ce qui s'en raporche lol

Reply

Marsh Posté le 20-04-2005 à 08:41:35    

si tu ne modifie pas l'itératuer utilise plutot les const_iterator

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed