Bonjour à tous,
j'ai trois choses:
1 structure S:
une classe Mere, dont le constructeur prend un paramètre de type S et qui comporte un membre de type S:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 typedef struct { int a,b;} S;
et une classe Fille, qui nécessite un constructeur de recopie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 class Mere: { public: Mere(S s){m_s = s}; virtual ~Mere(){}; protected: S m_s; };
Et bien évidemment, ça ne marche pas. J'obtiens l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class Fille : public Mere { Fille(S s); Fille(Fille &source); //le constructeur de recopie ~Fille(); }; // Fille.cpp : Fille::Fille(S s) : Mere(s){} Fille::Fille(Fille &source) { m_s = source.m_s; }
error C2512: 'Mere' : no appropriate default constructor available
Il y a quelque chose qui m'échappe concernant ces constructeurs par défaut et de recopie. Pourquoi ici il me demande un constructeur par defaut pour ma classe Mere? Pourquoi en a-t-il besoin?
Partager