map::find avec des classes perso
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:
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:
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