http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49669
--- Comment #2 from Kerrek SB <z0sh at sogetthis dot com> 2011-07-07 11:49:46 UTC --- Yes, I know that the code is invalid, but that shouldn't make the compiler crash, should it? For that matter, your proposed correct syntax is also rejected by 4.6.0: Goo::Goo() : x{Foo(4), Foo(5)} { } "error: invalid initializer for array member ‘Foo Goo::x [2]"