This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 114b. See for the official list.


2725. Overload resolution for non-call of class member access

Section:  [expr.ref]     Status: DRWP     Submitter: Richard Smith     Date: 2023-04-26

[Accepted as a DR at the November, 2023 meeting.]


  struct A {
    static void f();
    static void f(int);
  } x;
  void (*p)() = x.f;   // error

This is ill-formed as confirmed by issue 61. Various other changes (see issue 2241) have put the following example into the same category:

  struct B {
    static void f();
  } y;
  void (*q)() = y.f;   // error

If this is the intended outcome (although major implementations disagree), then the rules in [expr.ref] should be clarified accordingly.

Proposed resolution (approved by CWG 2023-06-13):

Change in [expr.ref] bullet 6.3 as follows:

This also addresses issue 1038.