double f(const int& i) { return 1.5 * i; }
template<
typename _out,
typename _in,
_out (*__f)(const _in&)>
class X {}; // template <... __f> class X {};
int main()
{
X<double, int, f> x; // X<f> x;
}
如何简化此代码?我想写代码作为评论中的代码。C++11 result_of 和 decltype 似乎有帮助,但我不够聪明,无法编写正确的代码来推断类内函数 f 的输入和输出类型。你能帮我看到光吗?谢谢