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

2024-03-20


1366. Deleted constexpr constructors and virtual base classes

Section: 9.2.6  [dcl.constexpr]     Status: CD3     Submitter: Sean Hunt     Date: 2011-08-17

[Voted into the WP at the February, 2012 meeting; moved to DR at the October, 2012 meeting.]

The requirement that a class with a constexpr constructor cannot have a virtual base only applies to constructors with non-deleted and non-defaulted function-bodys. This seems like an oversight.

Proposed resolution (August, 2011):

Change 9.2.6 [dcl.constexpr] paragraph 4 as follows:

In a The definition of a constexpr constructor, each of the parameter types shall be a literal type. In addition, either its function-body shall be = delete or = default or it shall satisfy the following constraints:

In addition, either its function-body shall be = delete or it shall satisfy the following constraints: