我想强制参数包中的所有类型都在其中声明一个嵌套类型别名(T
),并将所有T
类型的 's 扩展为tuple
. 这样的事情可能吗?当我尝试下面的幼稚方式时,它不会被识别Types::T
为一种类型。
class A { using T = int; };
class B { using T = double; };
template<class ... Types>
class C {
using tuple_of_types_t = std::tuple<Types...>; // of course this works
using tuple_of_nested_types_t = std::tuple<((Types::T),...)>; // how do I achieve this?
};