Bonjour,
je n'arrive pas à compiler (sous Visual Studio 2010) lorsque j'utilise une map avec une string. J'ai écris un bout de code qui vous montre le problème si vous essayez de compiler :
A priori ce n'est pas très compliqué, mais la ligne insert ne compile pas :Code:
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 #include "stdafx.h" #include <iostream> #include <map> using namespace std; class Personne { public: Personne(string nom) {cout << _nom << endl; } void sePresenter() { cout << "Je suis : " << _nom.c_str() << endl; } private: string _nom; }; int _tmain(int argc, _TCHAR* argv[]) { Personne* p = new Personne("toto"); map<string, Personne*> groupe; pair<string, Personne*> pp("toto", p); groupe1.insert ( pp ); system("PAUSE"); return 0; }
Pourtant, ma syntaxe me semble correcte ?Code:error C2784: 'bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &)'*: impossible de déduire l'argument modèle pour 'const std::_Tree<_Traits> &' à partir de 'const std::string'
Merci par avance aux membres éclairés pour leur avis !