C++ basique

k-23 Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

voici ma question jai une list des noeud chaque noeud

list <Noeud > :: ite = listeNoeud.begin();

jai aussi

Noeud * n;

je veux pointer n a un resultat de l<iterator par exemple

*n = *ite;// ceci ne marche pas ca compile mais rendu ici ca marche pas

merci pour l<aide

3 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Est-ce que tu pourrais reformuler ta question ?
Là c'est pas clair du tout !
0
k-23 Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   9
 
list <Noeud > :: iterator no = listeNoeud.begin(); //
Noeud * n;

et je veux que n point sur un noeud de ma list
je fais ceci mais ca marche pas a laide

*n = *no;// ceci ne marche pas ca compile mais rendu ici ca marche pas
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Je pense que ceci devrait marcher :

list<Noeud> liste;

list<Noeud>::const_iterator
      it,
      it_begin=liste.begin(),
      it_end=liste.end;

for (it=it_begin; it!=it_end; it++)
{
      Noeud n = *it;
}
0
k-23 Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   9
 
oui mais si je fais un changement dans ma liste de noeud (list) et je veux consulter le chagement du noeud avec Noued n ca va aps marcher.
je veux juste une maniere de consulter par exemple un noeud a la position par exemple au debut

it=it_begin;
et apres

Noeud n = *it;

si je fais un changement dans mon premier noeud de ma liste et je veux consulter avec n ca va pas marcher il me faudrait un pointeur sur le premier element de ma liste.

merci
0
k-23 Messages postés 252 Date d'inscription   Statut Membre Dernière intervention   9
 
a laide
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Je ne vois pas quoi te dire de plus, à part regarder ceci...
it_begin=liste.begin() est le premier itérateur de ta liste, et donc *it_begin est le premier noeud de cette liste.
mais si tu changes ton noeud ou ta liste, tu devras rappeller liste.begin() pour avoir à nouveau la bonne valeur.
Si ça ne résout pas ton problème, donne un code (le tien, ou un autre ressemblant) avec ton problème, en expliquant ce que devrais faire ce code et qu'il ne fais pas...
0