因此,我给出了一个std::tuple<T...>
,我想创建一个接受T...
的函数指针,目前这是我所得到的;将std :: tuple <T...>转换为T
template<typename... Arguments>
using FunctionPointer = void (*)(Arguments...);
using FunctionPtr = FunctionPointer<typename std::tuple_element<0, V>::type,
typename std::tuple_element<1, V>::type,
typename std::tuple_element<2, V>::type>;
不过,我似乎无法找到一个方法来做到这一点,没有从0, ..., tuple_size<V>::value
手动输入每一个指标。 FunctionPtr被定义在一个上下文中,其中V=std::tuple<T...>
(也已经有一个可变模板(因此我不能直接通过T...
))
我想我需要生成一些索引列表,并做一些黑魔法..
http://stackoverflow.com/questions/7858817/unpacking-a-tuple-to-call-a-matching-function-pointer – Morwenn 2013-03-07 11:31:48
@Morwenn:那不需要我添加另一个可变参数模板吗? – Skeen 2013-03-07 11:33:47