Salut à tous,
Je cherche simplement à recopier une std::map<std::string,std::string> dans une autre.
J'ai tenté cette approche:
et j'obtiens systématiquement du compilateur, le message suivant:
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 std::map<std::string,std::string> map_source; std::map<std::string,std::string> map_destination; /*remplissage de la source */ std::map<std::string,std::string>::const_iterator it = map_source.begin(); while(it!=map_source.end()) { /////////////////////////////////////////////// ///////// la ligne qui ne compile pas map_destination[it->first] = it->second; // OU ENCORE map_destion.insert(std::pair<it->first,it->second>); // OU ENCORE std::string cle = it->first; std::string valeur = it->second; //puis map_destination[cle] = valeur; //ou map_destion.insert(std::pair<cle,valeur>); /////////////////////////////////////////////// it++; }
Je ne sais pas si ça parle à quelqu'un mais pour récapituler, j'aimerai bien savoir ce que je fais de mal et aussi le moyen le plus efficace de faire une copie d'une map dans une autre map.passing «const std::map<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >» as «this» argument of «void std::map<_Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _Key = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _Tp = std::basic_string<char, std::char_traits<char>, std::allocator<char> >, _Compare = std::less<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, _Alloc = std::allocator<std::pair<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >]» discards qualifiers|
Merci à tous
Partager