Ambiguity by class name injection
6.5.2 [class.member.lookup]
Clark Nelson

Created on 2001-07-19.00:00:00 last changed 161 months ago


Date: 2005-04-15.00:00:00

[Voted into WP at April 2005 meeting.]

Date: 2004-02-13.00:00:00

Is the following well-formed?

    struct A {
        struct B { };
    struct C : public A, public A::B {
        B *p;
The lookup of B finds both the struct B in A and the injected B from the A::B base class. Are they the same thing? Does the standard say so?

What if a struct is found along one path and a typedef to that struct is found along another path? That should probably be valid, but does the standard say so?

This is resolved by issue 39

February 2004: Moved back to "Review" status because issue 39 was moved back to "Review".

Date User Action Args
2008-10-05 00:00:00adminsetstatus: wp -> cd1
2005-10-22 00:00:00adminsetstatus: dr -> wp
2005-05-01 00:00:00adminsetmessages: + msg1193
2005-05-01 00:00:00adminsetstatus: ready -> dr
2004-11-07 00:00:00adminsetstatus: review -> ready
2004-02-13 00:00:00adminsetstatus: wp -> review
2003-11-15 00:00:00adminsetstatus: ready -> wp
2003-04-25 00:00:00adminsetstatus: review -> ready
2002-03-11 00:00:00adminsetstatus: drafting -> review
2001-11-09 00:00:00adminsetstatus: open -> drafting
2001-07-19 00:00:00admincreate