------- Comment #13 from jason at gcc dot gnu dot org 2009-11-18 05:43 ------- 5.3.1 [expr.unary.op] paragraph 3:
...If the member is a non-static member of class C of type T, the type of the result is pointer to member of class C of type T. [ Example: struct A { int i; }; struct B : A { }; // has type int A::* ... &B::i ... end example ] So, the type of &D::a is the same as the type of &B::a, and this is not a bug. -- jason at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=950