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!

Reply via email to