Bonjour,
Pourriez-vous me dire pourquoi on ne peut pas créer un vector d'une dimension constante dans les variables d'une classe ?
MerciCode:
1
2
3
4
5
6
7
8 struct T_trous{ int i; }; class T_Golf{ public: int j; vector <T_trous> trous(21); };
Version imprimable
Bonjour,
Pourriez-vous me dire pourquoi on ne peut pas créer un vector d'une dimension constante dans les variables d'une classe ?
MerciCode:
1
2
3
4
5
6
7
8 struct T_trous{ int i; }; class T_Golf{ public: int j; vector <T_trous> trous(21); };
Lorsque tu fais vector <T_trous> trous(21); Tu appelles le constructeur de vector<T_trous>. Par conséquent, en plus de déclarer une variable membre de la classe T_Golf, tu l'initialise (ce qui n'est possible qu'avec les variables statiques). Je pense que l'erreur vient d'ici, mais je peux me tromper.
Par contre, tu peux toujours faire ceci:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 struct T_trous { int i; }; class T_Golf { public: int j; vector <T_trous> trous; //Constructeur T_Golf() : j(0), trous(21) //Liste d'initialisation { //... } };
@zouip,
Merci l'explication me parait tout à fait valable ....
@Médinoc,
Trop fort ca marche, mais pour moi, celà sort du chapeau. J'ai encore beaucoup de [DEL]route[/DEL] chemins vicinaux à parcourir.
Merci à vous deux.
NB : quel est le tag à employer pour obtenir une police barrée ????
Pour la police barrée, c'est pas possible.