bonjour,
le cmpilateur CC sous solaris n'aime pas les insert avec indication de position sur las map:
le code suivant compile très bien sous VS2005, gcc linux (redhat) mais pas sous solaris avec comme compilo CC 5.5 .
voila ce que raconte le compilateur :
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
31
32
33
34
35 #include <iostream> #include <vector> #include <map> #include <string> using namespace std; int main(int argc, char* argv[]) { map<string ,int> m; map<string ,int>::iterator it; m.insert ( pair<string,int>("sofiane",100) ); m.insert ( pair<string,int>("balabla",200) ); it=m.end(); m.insert (it, pair<string,int>("last",300)); //la ligne qui cause le problème for ( it=m.begin() ; it != m.end(); it++ ) cout << (*it).first << " => " << (*it).second << endl; cout << endl; return 0; }
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 sofiane: CC -o exampl exampl.cpp "exampl.cpp", line 27: Error: Could not find a match for std::map<std::string,int>::insert(__rwstd::__rb_tree<std::string, std::pair<const std::string, int>, __rwstd::__select1st<std::pair<const std::string, int>, std::string>, std::less<std::string>, std::allocator<std::pair<const std::string, int>>>::iterator, std::pair<std::string, int>). 1 Error(s) detected. sofiane:
Partager