Constructeur paramètre dérivée classe abstraite
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 :
Code:
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 );
}; |
main
Code:
1 2 3 4 5 6 7 8 9 10
|
int main()
{
B b1;
C c1(&b1);
return 0;
} |
Je recois un message d'erreur de ce style :
Code:
b1 can't initialize C
Merci d'avance pour votre aide :)
[EDIT] après essais , cela marche sur linux avec le compilateur g++ , j'ai eu l'erreur sur une machine sun ( compilateur CC )