Bonjour à tous,

je souhaite manipuler une liste avec un itérateur "reverse".
Pas de problème avec le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
std::list<int>::reverse_iterator UnRIterateur;	
UnRIterateur = MaListe.rbegin();
Par contre j'ai voulu faire la même chose mais avec un itérateur constant cette fois-ci (pour protéger les données de la liste)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
std::list<int>::const_reverse_iterator UnRIterateurConstant;
UnRIterateurConstant = MaListe.rbegin();
La deuxième ligne ne compile pas, j'obtiens l'erreur C2679. Je ne comprends pas pourquoi en fait, car dans la MSDN, rbegin() est bien cité comme pouvant rendre un itérateur constant.
Ce qui me surprend, c'est que la manipulation de begin() avec des itérateurs constants non "reverse" ne me pose pas de problème.

Si vous avez des pistes ! Merci...

Je suis sous VC6.

Guilhem.