考虑以下将函数作为参数的函数。
template <class Function = std::plus<int> >
void apply(Function&& f = Function());
这std::plus<int>
是应用的默认函数。std::plus<int>
是一个函数对象,一切正常。
现在,我想std::forward<int>
作为默认参数传递。std::forward<int>
不是函数对象,这是一个函数指针。怎么做 ?
template <class Function = /* SOMETHING */ >
void apply(Function&& f = /* SOMETHING */);