7 typedef void (Base::*MemPtr)();
9 // Template with a member function pointer "non-type parameter".
14 struct Child : public Base {
15 // Templated derived class instantiates the Wrapper with the same parameter
16 // in two different virtual methods.
17 void foo() { typedef Wrapper<&Base::method> W; }
18 void bar() { typedef Wrapper<&Base::method> W; }
21 // Instantiate Child with some type.
22 template class Child<int>;