http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46688
Summary: [4.6 Regression] g++ requires a function declaration when it should not Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: ro...@binarylife.net $ cat test.cc struct A { A(int); }; struct B { B() {} A a[]; }; $ g++ test.cc test.cc: In constructor 'B::B()': test.cc:6:8: error: no matching function for call to 'A::A()' test.cc:2:4: note: candidates are: A::A(int) test.cc:1:8: note: A::A(const A&) The same problem with A a[0]; v4.5 is perfect in this respect.