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

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.hpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
 vector<Character*>* listePersos;
Dans le fichier menu.cpp

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
        }
    }
}
A la compilation j'obtiens les l'erreur suivante

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())
                      ^
j'ai aussi essayé en remplaçant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
    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
3
4
 
error: ‘class std::vector<Character*>’ has no member named ‘estControlable’
    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 !

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