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


1340. Complete type in member pointer expressions

Section: 7.6.4  [expr.mptr.oper]     Status: CD3     Submitter: Daniel Krügler     Date: 2011-08-10

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

Both the .* and ->* operators (7.6.4 [expr.mptr.oper]) require that the class of the second operand be a complete object type. Current implementations do not enforce this requirement, and it is not clear that there is a need for it.

Proposed resolution (August, 2011):

  1. Change 7.6.4 [expr.mptr.oper] paragraph 2 as follows:

  2. The binary operator .* binds its second operand, which shall be of type “pointer to member of T(where T is a completely-defined class type) to its first operand...
  3. Change 7.6.4 [expr.mptr.oper] paragraph 3 as follows:

  4. The binary operator ->* binds its second operand, which shall be of type “pointer to member of T(where T is a completely-defined class type) to its first operand...