Bonjours à tous !
J'ai un petit soucis qui me prend la tête depuis un moment et je n'arrive pas à comprendre d'où vient l'erreure
Alors voilà :
J'ai une classe Game qui va déclarer un vecteur qui contient une lise de pointeurs sur une autre classe Character
Dans le fichier game.hpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 vector<Character*> listePersos;
Dans le fichier game .cpp
Dans le fichier menu.hpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Game::Game(){ // Ici je crée une entrée dans la liste this->listePersos.push_back(new Character()); //Et la je l'envois à un constructeur d'une autre class Menu* menu = new Menu(&this->listePersos); }
Dans le fichier menu.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 vector<Character*>* listePersos;
A la compilation j'obtiens les l'erreur suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Menu::Menu(vector<Character*>* listePersos){ this->listePersos = listePersos; } // Plus loin dans une methode de cette classe int i; if (listePersos->size() > 0){ for (i = 0; i < listePersos->size(); ++i){ if (listePersos[i]->estControlable()){ //Du code } } }
j'ai aussi essayé en remplaçant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 error: base operand of -> has non-pointer type std::vector<Character*> if (listePersos[i]->estControlable()) ^
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (listePersos[i]->estControlable())
et l'a j'obtiens ceci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if (listePersos[i].estControlable())
J'ai simplifier le code pour vous éviter les paramètres inutiles, si vous avez besoin de plus d'informations n'hésitez pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 error: class std::vector<Character*> has no member named estControlable if (listePersos[i].estControlable()) ^
Merci d'avance et bonne journée
En fait je ne comprend pas pourquoi il me dit que ‘estControlable’ n'est pas une methode de vector<Character*> alors que je suis sensé faire appel au pointeur Character contenu dedans
Pire encore sachant que l'attribut listePersos de la classe Menu est un pointeur sur vecteur, de ce fait je comprend encore moins la première erreur de compilations
Partager