如何访问参数包中的各个项目?如何创建参数包的第一个参数的typedef
考虑以下几点:
template<typename T>
struct X {};
template<class R, class... Args>
struct X<R (Args...)>
{
// how can I create a typedef for the first parameter
// basically I want to do something like if arg1 exists typedef it
// pseduo code below
if (Args[0])
typedef typename Args[0] Parameter1
}
否则我可能会做这样的事情,但希望保留它通用
template<class R, class... Args>
struct X<R (Arg1, Args...)>
{
}
'X'的其他成员是否会使用这个'typedef'?怎么样?如果'Args'是空的,你想'typedef'不存在,或者是'void'? – Casey