C++ / Méthode d'un objet dans un vector.
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 !
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
-
ContributeurSalut.
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.-
-
Contributeur@DrCrowouai, pas con.
C'est pas facile de raisonner juste avec un petit bout de code.
-
-
Sinon, poste ton code si c'est pas long ^^