Utilisation de STL map

Signaler
Messages postés
1
Date d'inscription
jeudi 4 mai 2006
Statut
Membre
Dernière intervention
15 février 2009
-
Messages postés
14982
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
2 mars 2021
-
Bonjour, je suis nouveau en c++ je viens de java

J'ai une classe élément qui contient un objet position (X,Y)
J'ai une classe monde qui contient un vector qui contient tout ces éléments

L'idée serait d'utiliser un objet map dans la classe monde pour accéder aux élément comme ceci

MonMonde.get(laposition)

class monde
{
    private :

    vector<element> vectels;
    map acces;
...

Je précise que j'ai surchargé l'opérateur == de position :

bool position::operator==(position ploc)
{
    return(x==ploc.getX() && y==ploc.getY());
}

Mais mon code de monde ne compile pas :
//(vectels est le vector et acces est le map)

void monde::add(element el)
{
    int taille=vectels.size()+1;
    vectels.at(taille)=el;
    //acces.insert(pair(el.getPosition(),taille));
    acces[el.getPosition()]=taille;
}

element monde::get(position ploc)
{
    return acces[ploc.getPosition()];
}   

1 réponse

Messages postés
14982
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
2 mars 2021
94
Salut,
Pas besoin de calculer la taille d'un vecteur pour y ajouter quelque chose en fin, c'est là l'intérêt des vecteurs: il y a la fonction push_back() pour cela.
Quelle est l'erreur donnée par le compilateur?

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...