Deduce返回和作为非类型模板参数传递的函数指针的参数类型

时间:2015-06-28 16:45:33

标签: c++ templates c++11 c++14 non-type

我知道如果所述指针作为参数传递给我的模板函数,编译器可以推断出函数指针的类型,但我想将我的函数作为非类型模板参数传递并支持任意参数的数量和类型

在精神上,我想做的是:

template <Ret (*Fun)(Args...), typename Ret, typename... Args>
Ret do_something_exciting(Args&&... args)
{
    // exciting things go here
    return Fun(std::forwards<Args>(args)...);
}

[...]

int some_arbitrary_function(double x, double y);

[...]

do_something_exciting<&some_arbitrary_function>(3.14, 9.82);

由于FunRetArgs之前声明了,这显然失败了,但是如果我之后宣布Fun RetArgs,我不能首先使用类型扣除。

我是否尝试过不可能或者可以让它发挥作用?

0 个答案:

没有答案