Title
Base-derived conversion in member pointer deduction
Status
drafting
Section
13.10.3.3 [temp.deduct.funcaddr]
Submitter
John Spicer

Created on 2012-03-26.00:00:00 last changed 146 months ago

Messages

Date: 2012-03-26.00:00:00

The rules for deducing template arguments when taking the address of a function template in 13.10.3.3 [temp.deduct.funcaddr] do not appear to allow for a base-to-derived conversion in a case like:

  struct Base {
    template<class U> void f(U);
  };

  struct Derived : Base { };

  int main() {
    void (Derived::*pmf)(int) = &Derived::f;
  }

Most implementations appear to allow this adjustment, however.

History
Date User Action Args
2012-11-03 00:00:00adminsetstatus: open -> drafting
2012-03-26 00:00:00admincreate