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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-02-09 
17:00:32 UTC ---
G++ is correct. 
In A::fun() 'this' is 'const A*' but you can still change A::a1 through a
reference.

Compare:

int* p;

struct A {
    int   a1;
    A() : a1(-1) { }
    int fun() const { return ++*p; }
};

int main()
{
    A a;
    p = &a.a1;
    return a.fun();
}

Reply via email to