C++ les Map problème avec le find( )
Fermé
Larry
-
17 févr. 2009 à 13:58
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 févr. 2009 à 15:46
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 févr. 2009 à 15:46
A voir également:
- C++ les Map problème avec le find( )
- Google map satellite gratuit - Guide
- Itinéraire google map entre deux adresses - Guide
- Telecharger carte google map - Guide
- Historique trajet google map - Guide
- Lens google map - Accueil - Transports & Cartes
4 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 févr. 2009 à 14:01
17 févr. 2009 à 14:01
Si tu fait une recherche sur la position, ça ne donne rien ?
Il faut peut être rdéfinir l'opérateur de comparaison ==.
Il faut peut être rdéfinir l'opérateur de comparaison ==.
Je redéfinir l'opérateur == pour voir :
bool Position::operator==(const Position x, const Position y);
{
return (x.getX() == y.getX()) && (x.getY() == y.getY());
}
Le compilo me dit : " bool Position ::operator==(Position,Position) must take exactly one argument"
Il a craqué son slip ou quoi ^^
bool Position::operator==(const Position x, const Position y);
{
return (x.getX() == y.getX()) && (x.getY() == y.getY());
}
Le compilo me dit : " bool Position ::operator==(Position,Position) must take exactly one argument"
Il a craqué son slip ou quoi ^^
En fait le problème c'est de redéfinir le "less" car dans la map le clé doit pouvoir être ordonnée.
template <class _Tp>
struct less : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x < __y; }
};
template <class _Tp>
struct less : public binary_function<_Tp, _Tp, bool>
{
bool
operator()(const _Tp& __x, const _Tp& __y) const
{ return __x < __y; }
};
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 févr. 2009 à 15:46
17 févr. 2009 à 15:46
tu peux redéfinir un operator< bidon, qui renvoi toujours 0 si les Position ne sont pas identique.
tu as les équivalences :
A>B <-> B<A
A==B <-> !A<B && !B<A
A!=B <-> A<B || B<A
etc.
tu as les équivalences :
A>B <-> B<A
A==B <-> !A<B && !B<A
A!=B <-> A<B || B<A
etc.