Bonjour,
Je n'arrive pas à trouver la bonne syntaxe pour appeler un constructeur avec paramètre dans un constructeur d'une autre classe ... voici un exemple de code pour expliquer mon PB :
La première classe A possède un constructeur par paramètre qui prend en entrée deux pointeurs sur des objets de classe C et D
et également un constructeur sans paramètre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class A { public: A( C * param1, D * param2); A(); virtual ~A(); };
la classe B possède un attribut privé "toto" qui est une instance de la classe A
le constructeur de B prend également des pointeurs sur C et D en paramètre
le problème apparait lors de l'écriture du constructeur de la classe B pour instancier correctement la variable "toto"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class B { private : A toto; public: B( C * param1, D * param2); virtual ~B(); };
C'est là que je n'utilise pas la bonne syntaxe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 B::B( C * param1, D * param2) { toto(param1, param2); // error: type 'A' does not provide a call operator }
j'ai également essayé ceci :
mais dans ce cas c'est le constructeur A(); qui est exécuté par mon programme ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 B::B( C * param1, D * param2) { A toto(param1, param2); }
Je n'arrive pas à trouver l'erreur (qui est sans doute évidente)
merci pour votre aide
Partager