考虑以下将函数作为参数的函数。
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 */);