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

2024-12-19


1067. [[hiding]], using-declarations, and multiple inheritance

Section: _N3225_.7.6.5  [dcl.attr.override]     Status: NAD     Submitter: Daveed Vandevoorde     Date: 2010-03-26

The intent appears to be that the following example is well-formed, even though D::f(int) hides B2::f():

    struct B1 { void f(); };
    struct B2 { void f(); };
    struct[[base_check]] D: B1, B2 {
      using B1::f;
      void f(int);
    };

However, this is not reflected in the current wording.

Rationale (November, 2010):

The consensus of the CWG was that the using-declaration does, indeed, hide B2::f() and thus D should be ill-formed.