Bonjour,
Imaginons les deux struct suivantes :
Je n'arrive pas à implémenter le constructeur pour la struct A qui utiliserait la nouvelle syntaxe du c++0x afin d'utiliser la liste d'initialisation (je sais le faire si au lieu de B comme tableau d'attributs on utilise un tableau de int ou de float);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 struct B { B() = default; B(int a, int b) : x(a), y(b) {} int x,y; }; struct A { A(B a, B b, B c); // Constructeur B i[3]; };
Ici avec g++ 4.4 j'obtiens comme erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 A::A(B a, B b, B c) : i({a,b,c}) { }
main.cpp: In constructor ‘A::A(B, B, B)’:
main.cpp:16: error: bad array initializer
Si quelqu'un connait la syntaxe à adopter je lui en serait fort reconnaissant.
Partager