Dire que j'ai quelquesaide iterator pour imprimer un multimap
typedef std::pair<userObject*,char> Bar;
std::multimap<int, Bar > Foo;
std::multimap<int, Bar >::iterator it = foo.begin();
J'ai inséré quelques membres dans la carte et je veux itérer sur son contenu en utilisant l'itérateur. Cependant, la tentative du deuxième code de ligne donne un no viable conversion from....
Je sais que l'erreur est causée par Bar
étant une paire. J'ai écrit une classe simple en utilisant ints
pour simuler le comportement et tout fonctionne comme prévu. Dois-je fournir un modèle de classe T? pour définir le comportement.
Voici a link au code source pour voir le code.
Message d'erreur est
no viable conversion from '__map_iterator<__tree_iterator<__value_type<int *, [...]>, std::__1::__tree_node<std::__1::__value_type<int *, std::__1::pair<Vertex *, char> >, void *> *, [...]>>' to '__map_iterator<__tree_iterator<__value_type<int, [...]>, std::__1::__tree_node<std::__1::__value_type<int, std::__1::pair<Vertex *, char> >, void *> *, [...]>>'
'foo.begin' (pas parethesis) - est une faute de frappe ou un code réel? – SergeyA
C'était en fait une faute de frappe, merci! – Dev
Veuillez préparer un [MCVE] (http://stackoverflow.com/help/mcve). L'exemple de code que vous avez posté ici se compile bien, à condition que vous changiez 'Foo' en' foo', ce qui est juste une faute de frappe. Le code sur Github n'est pas complet et nous ne pouvons pas le compiler. –