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 :

probl�me avec std::set et iterator


Sujet :

C++

  1. #1
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    1 299
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 1 299
    Par d�faut probl�me avec std::set et iterator
    Bonjour, j'ai le code suivant sous Visual 8 :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    std::set<int,std::greater<int> > s;
    	s.insert(0);
    	s.insert(1);
    	s.insert(2);
    	s.insert(3);
     
    	std::set<int,std::greater<int> >::const_reverse_iterator it;
    	cout << "affichage de s" << endl;
     
    	for(it = s.begin() ; it != s.end() ; it++)
    		cout << *it << endl;
    Et j'ai l'erreur suivante au niveau du it = s.begin() de la boucle for :

    error C2679: binary '=' : no operator found which takes a right-hand operand of type 'std::_Tree<_Traits>::iterator' (or there is no acceptable conversion)
    with
    [
    _Traits=std::_Tset_traits<int,std::greater<int>,std::allocator<int>,false>
    ]
    C:\Program Files\Microsoft Visual Studio 8\VC\include\xutility(1842): could be 'std::reverse_iterator<_RanIt> &std::reverse_iterator<_RanIt>::operator =(const std::reverse_iterator<_RanIt> &)'
    with
    [
    _RanIt=std::_Tree<std::_Tset_traits<int,std::greater<int>,std::allocator<int>,false>>::const_iterator
    ]
    while trying to match the argument list '(std::reverse_iterator<_RanIt>, std::_Tree<_Traits>::iterator)'
    with
    [
    _RanIt=std::_Tree<std::_Tset_traits<int,std::greater<int>,std::allocator<int>,false>>::const_iterator
    ]
    and
    [
    _Traits=std::_Tset_traits<int,std::greater<int>,std::allocator<int>,false>
    ]
    Quelqu'un aurait-il une id�e ?

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de m�phistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par d�faut
    Bonjour
    Citation Envoy� par salseropom Voir le message
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::set<int,std::greater<int> >::const_reverse_iterator it;
    Ici, tu d�clare un reverse it�rator.

    Or tu essaye de lui assigner un it�rator (begin)
    Citation Envoy� par salseropom Voir le message
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
         for(it = s.begin() ; it != s.end() ; it++)
    		cout << *it << endl;
    Ce n'est pas la m�me chose !

    Il faudrait plutot utiliser les �quivalent reverse soit:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
         for(it = s.rbegin() ; it != s.rend() ; it++)
    		cout << *it << endl;
    ou alors d�clarer ton it�rateur en simpe it�rateur:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::set<int,std::greater<int> >::const_iterator it;
    BOnne chance

  3. #3
    Membre �prouv�
    Profil pro
    Inscrit en
    D�cembre 2004
    Messages
    1 299
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2004
    Messages : 1 299
    Par d�faut
    oups... j'ai compl�tement oubli� le rbegin() et le rend(). Merci !

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

Discussions similaires

  1. Probl�me avec std::set
    Par DeathMixer dans le forum SL & STL
    R�ponses: 2
    Dernier message: 02/06/2009, 16h01
  2. Probl�me avec std::Vector
    Par mister3957 dans le forum SL & STL
    R�ponses: 8
    Dernier message: 16/02/2006, 10h18
  3. T& � partir d'un std::set<T>::iterator
    Par karmaki dans le forum SL & STL
    R�ponses: 3
    Dernier message: 08/02/2005, 11h55
  4. [debutant][Gregoriancalendar] Probl�me avec le set
    Par britou dans le forum Collection et Stream
    R�ponses: 2
    Dernier message: 30/06/2004, 16h01
  5. Recherche "�toil�e" avec std::set
    Par guejo dans le forum MFC
    R�ponses: 2
    Dernier message: 06/05/2004, 13h28

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