Bonsoir,
Je cree une map de std::string liees a des pointeurs sur class (admettons AExemple, une classe abstraite).
J'aimerais acceder a une fonction membre de l'une de ces classes, dans ce cas pratique, ajouter une class Test a ma map en envoyant a son constructeur la valeur de retour d'un getter de Toto, mais j'ai le message d'erreur suivant: test.cpp:4: error: ‘class AExemple’ has no member named ‘getNb’, un peu comme si il ne dereferencait pas le pointeur sur classe AExemple, c'est la premiere fois que je tente d'utiliser ce conteneur, apparemment quelque chose m'echappe !
Voici le code:
Test.hpp
Test.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
16
17
18
19
20
21
22
23
24
25
26
27
28 #include <map> class AExemple { private: std::map<std::string, AExemple*> map_; public: AExemple(); }; class Test : public AExemple { private: int nb; public: Test(int nb); int getNb(); }; class Toto : public AExemple { private: int getNb(); int nb; public: Toto(); int getNb(); }
Merci pour votre aide !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #include "Test.hpp" AExemple::AExemple() { this->map_["UN"] = new Toto(); this->map_["DEUX"] = new Test(this->map_["UN"]->getNb(); }
Partager