This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 110b. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2023-01-15


16. Access to members of indirect private base classes

Section: 11.8.3  [class.access.base]     Status: CD1     Submitter: unknown     Date: unknown

[Moved to DR at 4/01 meeting.]

The text in 11.8.3 [class.access.base] paragraph 4 does not seem to handle the following cases:

    class D;

    class B {
    private:
        int i;
        friend class D;
    };

    class C : private B { };

    class D : private C {
        void f() {
            B::i; //1: well-formed?
            i;    //2: well-formed?
        }
    };
The member i is not a member of D and cannot be accessed in the scope of D. What is the naming class of the member i on line //1 and line //2?

Proposed Resolution (04/01): The resolution for this issue is contained in the resolution for issue 9..