IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

iterateur sur une liste en cours de lecture pass�e en param�tre


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre extr�mement actif
    Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2008
    Messages
    1 022
    D�tails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 1 022
    Par d�faut iterateur sur une liste en cours de lecture pass�e en param�tre
    Bonjour,

    Je dois faire une proc�dure qui traite une liste connue en param�tre qui est d�j� ouverte

    l'appel comprend les �l�ments suivants:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
       CAnalysedWord* pWord
       std::list<CAnalysedWord*>::itWord;
     
       ...
       pWord = *itWord;
       ...
       ...
       AnalyseCurrentList( CAnalysedWord*  pWord....)
       {
          std::list<CAnalysedWord*>::itWord;
          itWord = &pWord;
    mais cette syntaxe qui est le sym�trique de l'affectation est refus�e par le compilateur.
    Comment initialiser dans la proc�dure un it�rateur avec ce qui est point� par le pointeur pWord?
    Je serai content d'avoir cette solution. Celui qui me r�pondra sera

  2. #2
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::list<CAnalysedWord*>::itWord;

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    AnalyseCurrentList( pWord....)
    O� qu'il est le type.

    C'est franchement illisible comme code.
    Je pense qu'en le rendant lisible, vous trouverez la solution.

  3. #3
    Membre extr�mement actif
    Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2008
    Messages
    1 022
    D�tails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 1 022
    Par d�faut pr�cisions et autres contributions sur le sujet
    J'ai pr�cis� les choses pour conformit� avec la compilation. mais �a ne fait pas avancer le schmilblick
    une autre contribution m'a propos�
    itWord = *pWord;
    mon compilateur m'a demand� de caster, ce qui donne
    itWord = (std::list<CAnalysedWord>::iterator) *pWord;
    et l� le compilateur me dit transtypage impossible entre iterateur et classe

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    Par d�faut
    Tu m'�tonnes que le compilateur ne confonde pas un pointeur et un it�rateur, �a n'a rien � voir avec la choucroute.

    Montrez-nous votre code et on pourra peut-�tre vous aider. Et pas � essayer de blouser le compilateur.

  5. #5
    Membre extr�mement actif
    Profil pro
    D�veloppeur informatique
    Inscrit en
    D�cembre 2008
    Messages
    1 022
    D�tails du profil
    Informations personnelles :
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : D�cembre 2008
    Messages : 1 022
    Par d�faut Effectivement les pointeurs et les it�rateurs ne sont pas compatibles
    Bonjour

    Je confirme ton point de vue: il n'est pas possible d'attribuer un pointeur � un it�rateur, et donc on arrive � une solution bestiale
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    itTemp = itWord;
                           if( p2NextWord != NULL && p3NextWord != NULL && p4NextWord != NULL & p5NextWord != NULL)
                           { //7
                              if( p2NextWord->POS != NULL || p3NextWord->POS != NULL || p4NextWord->POS != NULL || p5NextWord->POS == NULL)
                              {
                                 if( p2NextWord->POS != POS_STOPMARK)
                                   if( p3NextWord->POS != POS_STOPMARK)
                                     if( p4NextWord->POS != POS_STOPMARK)
                                        if( p5NextWord->POS != POS_STOPMARK)
                                          if( p2NextWord->POS == POS_PREP || p3NextWord->POS == POS_PREP || p4NextWord->POS == POS_PREP || p5NextWord->POS == POS_PREP)
                                          { //8
                                             // il faut savoir quel est le pointeur qui à rendu le test possible
                                             // il faut développer une procédure qui analyse une list
                                             // de mots tant que le type de syntagme ne change pas
                                             if( p2NextWord->POS == POS_PREP)
                                             { //8
                                                itTemp++;
                                                itTemp++;
                                             }
                                             else if ( p3NextWord->POS == POS_PREP)
                                             {
                                                itTemp++;
                                                itTemp++;
                                                itTemp++;
                                             }
                                             else if ( p4NextWord->POS == POS_PREP)
                                             {
                                                itTemp++;
                                                itTemp++;
                                                itTemp++;
                                                itTemp++;
                                             } //8
                                             else if( p5NextWord->POS == POS_PREP)
                                             {
                                                itTemp++;
                                                itTemp++;
                                                itTemp++;
                                                itTemp++;
                                                itTemp++;
                                             }
                                             //                     le pointeur le pointeur     la position
                                             //                     courrant    sur le receptacle
                                             //                                 actif           de départ
                                             AnalyseCurrentVerbSyntagne( itTemp, pCurrentChunk , Step, DrivingPos, bMarkOngoing, bPivotPending);
                                          }
                              } //8
                           } //7
    avec toutes les dispositions de blindage pour �viter de pointer dans la fin de liste

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Iterateur sur une list
    Par Atharendil dans le forum SL & STL
    R�ponses: 17
    Dernier message: 13/01/2008, 15h59
  2. [List] Iterateur sur une liste de type d�fini
    Par Wookai dans le forum SL & STL
    R�ponses: 4
    Dernier message: 12/11/2007, 20h45
  3. pb avec iterateur const sur une list STL
    Par Muetdhiver dans le forum SL & STL
    R�ponses: 4
    Dernier message: 14/01/2007, 16h39
  4. R�ponses: 3
    Dernier message: 06/09/2006, 18h59
  5. [D�butant][jsp] �v�nement sur une liste
    Par phoebe dans le forum Servlets/JSP
    R�ponses: 5
    Dernier message: 14/05/2004, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo