Salut à tous,

Je ne comprends pas pourquoi ce code ne compile que si je déclare un constructeur sans argument dans MaClass!!

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
17
18
19
20
21
22
class MaClass {
public:
	MaClass ( int a ) {
	};
	/*MaClass() {	//Refus de compiler si ce constructeur sans arguments est absent!!
	};*/
};
 
struct noeud {
	MaClass n;
	noeud ( MaClass mc ) {
		n = mc;
	}
	noeud () {     //Même problème sans le constructeur noeud () {}
	};
};
 
void main () {
	MaClass b ( 3 );
	noeud n1 ( b ) ;
	noeud n2;     //Même problème sans cette ligne et sans  noeud () {} dans struct noeud
}
Message d'erreur :
ligne 11 : error C2512: 'MaClass' : no appropriate default constructor available
ligne 14 : error C2512: 'MaClass' : no appropriate default constructor available
Merci