Utilisation de STL map

xavprog Messages postés 1 Date d'inscription jeudi 4 mai 2006 Statut Membre Dernière intervention 15 février 2009 - 15 févr. 2009 à 20:10
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 - 16 févr. 2009 à 09:26
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

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
16 févr. 2009 à 09:26
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...
0
Rejoignez-nous