Bonjour , en 1 phrase mon problème :
J'aimerai passer en paramètre de mon constructeur un pointeur vers une classe dérivée d'une classe abstraite , seulement le compilateur m'envoit royalement balader.
Voici un code d'exemple :
main
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 class A // Abstract class { public: virtual function_name() = 0; }; class B : public A { .. }; class C { public: C( A*ptr ); };
Je recois un message d'erreur de ce style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int main() { B b1; C c1(&b1); return 0; }
Merci d'avance pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part b1 can't initialize C
[EDIT] après essais , cela marche sur linux avec le compilateur g++ , j'ai eu l'erreur sur une machine sun ( compilateur CC )
Partager