C++ basique

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

  1. Modérateur
    Est-ce que tu pourrais reformuler ta question ?
    Là c'est pas clair du tout !
    0
    1. 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
  2. Modérateur
    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
    1. 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
    2. a laide
      0
  3. Modérateur
    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