http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60417

--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Still a regression for aggregate-initialization of arrays:

struct A { explicit A(int = 0); };

int main()
{
  A a[1] = { };
}

zzz.cc: In function ‘int main()’:
zzz.cc:5:14: error: converting to ‘A’ from initializer list would use explicit
constructor ‘A::A(int)’
   A a[1] = { };
              ^

And similarly for array members that are list-initialized:

struct A { explicit A(int = 0); };
struct B { A a[1]; B() : a{} {} };

int main()
{
  B b;
}

zz.cc: In constructor ‘B::B()’:
zz.cc:2:28: error: converting to ‘A’ from initializer list would use explicit
constructor ‘A::A(int)’
 struct B { A a[1]; B() : a{} {} };
                            ^

Reply via email to