1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
// prms-id: 4068 struct A { A(); typedef void (A::*F)(); void d(); void foo() { } F& f() { return f_; } F f_; }; A::A() : f_(&A::foo) { } void A::d() { (this->*(f()))(); } int main() { A a; a.d(); }