Surcharge <<

Signaler
Messages postés
2
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
21 avril 2006
-
Messages postés
2
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
21 avril 2006
-
Salut,

Je veux surcharger l'opérateur << pour une de mes classes qui encapsule un multimap (donnée membre privée : laListe).

Voici le code que j'ai tapé :
ostream& operator<< (ostream& o, const EdgeList& list)
{
cout << "Elements en liste : " << endl;

for (std::multimap<const std::string, Edge>::iterator it = listeLocale->begin(); it != listeLocale->end(); ++it)
cout << " [" << (*it).first << ", " << (*it).second.Getlabel() << "]" << endl;
return o;
}

Voici la réponse du compilateur :

edgelist.cpp:27: erreur: conversion from ‘std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Edge> >’ char> >, Edge> >’ char> >, Edge> >’ to non-scalar type ‘std::_Rb_tree_const_iterator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Edge> >’ char> >, Edge> >’ char> >, Edge> >’ requested.


Si je comprends bien il me demande de convertir un type en lui même ! Je ne comprends rien !

Merci de m'expliquer si quelqu'un comprend.

3 réponses

Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
je peux pas t'aider...mais si tu veux avoir plus de succes je te conseille de reposter ton code maprce la c'est illisible!
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
oula j'ai buggé, le 'maprce' ca veux dire 'parce que'
Messages postés
2
Date d'inscription
jeudi 20 avril 2006
Statut
Membre
Dernière intervention
21 avril 2006

Pour l'instant, faute de temps, j'ai abandonné l'idée et me suis orienté vers l'utilisation d'une méthode Afficher(), tout simplement.

Merci quand même

A+