Hello,
this may just not be implemented yet, but in case it was missed:
struct A1 {
};
struct A2 {
A2(){}
};
template <class T> struct B {
T tab[1];
B(T const& t):tab({t}) {} // here
};
int main(){
int i=2;
B<int> b{i};
A1 a1;
B<A1> e1{a1};
A2 a2;
A2 c[1]{{a2}};
B<A2> e2{a2}; // fails
}
complains about a "bad array initializer", whereas with a trivial type A1 or a
builtin int, it works fine.
--
Summary: [C++0x] can't initialize array of non-trivial type with
brace-init
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: marc dot glisse at normalesup dot org
GCC host triplet: x86_64-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45418