1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
// PR c++/561 class A { }; struct B : public A { void foo (); void foo (int); template <class T> void bar (T); template <class T> void bar (T, T); }; int main () { void (A::*f1)() = (void (A::*)()) &B::foo; void (A::*f2)(int) = (void (A::*)(int)) &B::bar; void (A::*f3)(int) = (void (A::*)(int)) &B::bar<int>; }