Bonjour,
j'ai un programme comportant 3 classes, une classe mère (class A) et deux classes filles (class B et class C). je souhaiterai, via la class mère, récupérer l'instance de la classe qui a été dérivée.
Voici les .h des classes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class B; class C; class A { public : B* getB(); C* getC(); }J'utilise pour cela la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class B : public A { ... }, mais je reçois une erreur et j'ai du mal a comprendre ce qu'elle signifie...dynamic_cast<>()
Voici le code des méthodes qui posent le problème :
Enfin, voici l'erreur qui apparaît lors de la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 B* A::getB() { return dynamic_cast<B*>(this); } C* A::getC() { return dynamic_cast<C*>(this); }
Voilà, si quelqu'un à une idée pour savoir comment faire, je suis preneur!erreur: cannot dynamic_cast ‘this’ (of type ‘class A* const’) to type ‘struct B*’ (target is not pointer or reference to complete type)
Merci d'avance (:
Partager