Bonjour,

Imaginons les deux struct suivantes :
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];
};
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
A::A(B a, B b, B c) : i({a,b,c})
{
 
}
Ici avec g++ 4.4 j'obtiens comme erreur:
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.