http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53553
Bug #: 53553 Summary: misleading locations for error in initializers Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassig...@gcc.gnu.org ReportedBy: akim.demai...@gmail.com Created attachment 27541 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27541 Test case In the following example: struct foo { foo(int a, int b, int c) : a_(a) , b_(b) , c_(c) {} int* a_; int b_; int c_; }; g++ 4.8 reports: ctor.cc: In constructor 'foo::foo(int, int, int)': ctor.cc:6:11: error: invalid conversion from 'int' to 'int*' [-fpermissive] , c_(c) ^ while, of course, the error is on a_, at line 4, not 6. 4.7 is wrong too (it reports line 6 instead of 4), yet caret-errors make it even more confusing. Thanks for the good work!