Bonjour,
J'appelle dans operator+ une fonction add qui sera défini dans chacun des class héritant de Space.
Voir le code
Le problème à la compilation est :
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 class Space { public: Space & operator +=(const Space x); virtual inline void add(const Space *x) ; }; Space & Space::operator +=(const Space x) { this->add(&x); } class Space1d:public Space { public: int i; Space1d():i(0){} Space1d(int j):i(j) {} inline void add( const Space* x) { this->i = x->i; } };
i.e. pour le compilateur l'argument x de add est un oblet de la classe mère Space donc qui n'a pas d'instance int i. Ce que je voudrais savoir c'est comment résoudre ce problème???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 «const class Space» has no member named «i»
Merci,
PS: Je remercie les habitués de ce site pour le sujet d'avant
Partager