Utilisation de STL map

Messages postés
1
Date d'inscription
jeudi 4 mai 2006
Statut
Membre
Dernière intervention
15 février 2009
-
Messages postés
15213
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 janvier 2022
-
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
15213
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
21 janvier 2022
101
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...