Open Liam0205 opened 5 years ago
你好,能否只根据vector数组大小进行展开传递呢?因为有时候func是个指针,无法根据func来获取函数参数个数,函数返回值为void。
@luchangli03 封在一个 functor 里应该可以。你试试,我没检验过
最后那个完整代码里103-105行写的有问题,
template <typename FuncType, typename VecType>
ReturnT unpack_caller(FuncType& func, VecType& args) {
return details::do_call(func, args, BuildIndices<Traits::arity>());
}
ReturnT 没有定义
@Maxing1997 你讲的对,fixed ✅
只针对了普通函数进行了包装,其实博主应该在对构造函数进行一次包装。这样就近乎完美了。
@X-Crack 你可以搞一搞呀~ 回头我可以贴上来,然后感谢 X-Crack 补充~哈哈
没事没事,说说自己的想法,具体实现还是您动手。 :)
https://liam.page/2019/07/04/unpack-vector-as-parameters-for-functions/
昨天 jsteward 问我,有一个接受若干个同类型参数的函数 template <typename U, typename T> U func(T a, T b, T c),现在有一个 std::vector<T> args,希望将 std::vector<T> 当中的元素作为函数参数传进去,要怎么办。 这篇来解决这个问题。