我有这种形式的结构:
template <typename T>
struct X
{
using value = T;
};
我将其中一个或多个传递给这样的模板函数:
template <typename... Ts>
void Func(Ts... ts);
我真正想要的是明确列出X
并让函数参数类型为value
的{{1}}。我该怎么做?
答案 0 :(得分: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);
}