1// { dg-do assemble } 2 3template <class S, class T> 4class mem_fun1_t { 5public: 6 mem_fun1_t(S (T::*pf)(double)) {} 7}; 8 9template <class T> 10class mem_fun1_t<void, T> { 11public: 12 mem_fun1_t(void (T::*pf)(double)) {} 13}; 14 15struct Operation { 16 double eval(double) { return 0; } 17}; 18 19int main() { 20 mem_fun1_t<double, Operation> m(&Operation::eval); 21} 22