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


1065. [[hiding]] with [[override]]

Section: _N3225_.7.6.5  [dcl.attr.override]     Status: C++11     Submitter: Daveed Vandevoorde     Date: 2010-03-24

[Voted into the WP at the November, 2010 meeting as part of paper N3206.]

The meaning of the [[base_check]] and [[hiding]] attributes is defined in terms of hiding as described in _N4868_.6.4.10 [basic.scope.hiding]. In that section, however, hiding is orthogonal to overriding: practically by definition, a function that overrides a base class virtual function also hides it. According to the current specification, the [[override]] and [[hiding]] attributes would always need to be specified together on every overriding function in a [[base_check]] class. This is presumably unintended, so the current wording should be amended so that [[override]] implies [[hiding]] or some such.