Bonjour à tous
Je dispose d'un grand nombre de données dans lesquelles je dois régulièrement faire des recherches d'éléments.
Après avoir testé le std::vector, je me suis rendu compte que la recherche était vraiment trop lente.
J'ai donc pensé les mettre dans une map.
En résumé je dispose d'une structure point, codée comme ça :
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 struct point { double _x, _y ; point () { _x = 0. ; _y = 0. ; } point (double x, double y) { _x = x ; _y = y ; } } ;
que je veux mettre en data
Ensuite mon code (long, qui utilise std::map::find) me renvoie la même erreur que ce petit exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 std::map<int, point > uuu ; point ppp(2., 3.) ; uuu[0] = ppp ; std::map<int, point >::iterator it = uuu.find(ppp) ;
A savoir :
Erreur 1 error C2664: 'std::_Tree<_Traits>::iterator std::_Tree<_Traits>::find(const int &)' : impossible de convertir le paramètre 1 de 'point' en 'const int &' main.cpp 26
Je ne vois vraiment pas pourquoi il aurait besoin de convertir mon p._x en const int &...
Merci beaucoup de votre aide..
R.Portalez
Partager