从参数包中获取typedef

Gra*_*rak 8 c++ templates c++11

我有这种形式的结构:

template <typename T>
struct X
{
    using value = T;
};
Run Code Online (Sandbox Code Playgroud)

我将其中一个或多个传递给模板函数,如下所示:

template <typename... Ts>
void Func(Ts... ts);
Run Code Online (Sandbox Code Playgroud)

我真正想要的是明确列出Xs并使函数参数类型为values Ts.我该怎么办?

R S*_*ahu 10

以下适用于我.

template <typename T>
struct X
{
    using value = T;
};

template <typename T>
struct Y
{
    using value = T*;
};

template <typename... Ts>
void Func(typename Ts::value... ts)
{
}

int main()
{
   Func<X<int>, Y<double>>(10, nullptr);
}
Run Code Online (Sandbox Code Playgroud)