// Build don't link:

template <class S, class T>
class mem_fun1_t {
public:
  mem_fun1_t(S (T::*pf)(double)) {} 
};

template <class T>
class mem_fun1_t<void, T> { 
public:
  mem_fun1_t(void (T::*pf)(double)) {}
};

struct Operation {
  double eval(double) {}
};

int main() {
  mem_fun1_t<double, Operation> m(&Operation::eval);
}
