C++ / Méthode d'un objet dans un vector. [Fermé]

Signaler
Messages postés
1
Date d'inscription
mardi 9 février 2010
Statut
Membre
Dernière intervention
9 février 2010
-
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
-
Bonjour à vous,

J'aurais deux petites questions à vous poser qui me pose problème.

* Comment faire pour utiliser les méthodes d'un objet contenu dans un vector d'objet ?</puce>
* Comment créer une référence sur un objet contenu dans un vecteur d'objets ?</puce>



J'ai essayé d'accéder aux méthodes de mon objet de la façon suivante :


std::vector<maClasse> monVecteur;

// Remplissage du vecteur ...

monVecteur[5].maMethode();


En faisant de la sorte, j'ai l'erreur suivante :

'class std::vector<maClasse, std::allocator<maClasse> >' has no member named 'maMethode'


J'ai ensuite essayé de faire une référence sur un objet de mon vector, pour utiliser ses fonctions.


// Avec un vecteur de type vector<maClasse> ...

maClasse& maReference = monVecteur[5];

maReference.maMethode();



Et je me retrouve avec l'erreur suivante :

'invalid initialization of reference of type 'maClasse&' from expression of type 'std::vector<maClasse, std::allocator<maClasse> >


Voila mon problème, si quelques uns parmi vous peuvent m'aider, je vous en serai reconnaissant !

2 réponses

Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 248
Salut.
C'est quoi ton compilateur (nom et version), car pour moi tout est bon.
Protège un peu avec des parenthèses :
(monVecteur[5]).maMethode();

Sinon, donne nous un code mini qui pose problème que l'on puisse tester chez nous.
Messages postés
387
Date d'inscription
lundi 9 novembre 2009
Statut
Membre
Dernière intervention
20 août 2014
18
>>(monVecteur[5]).maMethode();
Pas la peine ^^'; je crois que c'est un problème d'inclusion,
n'as tu pas oublié le (MyClass::) en déclrent t fonction,
void MyClass::MaMethode() {/*...*/}
Messages postés
9688
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
2 octobre 2020
1 248 >
Messages postés
387
Date d'inscription
lundi 9 novembre 2009
Statut
Membre
Dernière intervention
20 août 2014

ouai, pas con.
C'est pas facile de raisonner juste avec un petit bout de code.
Messages postés
387
Date d'inscription
lundi 9 novembre 2009
Statut
Membre
Dernière intervention
20 août 2014
18
Sinon, poste ton code si c'est pas long ^^