gpt4 book ai didi

c++ - 从模板化类中提取模板

转载 作者:行者123 更新时间:2023-12-03 07:09:16 25 4
gpt4 key购买 nike

我正在尝试从模板类的实例中提取类型包:

template <template <class T, class... Ts> class>
using first_in_template_class = T;
我尝试了这个和其他类似的变体,但出现此错误:

unknown type name 'T'


怎么办呢?
附言我知道我可以在 std::tuple_element情况下使用 std::tuple,但是我正在寻找一种从模板化类中提取类型的方法。

最佳答案

您可以使用:

template <typename T>
struct extract_first {};

template <template <typename...> typename ClassTemplate, typename... ClassTemplateParams>
struct extract_first<ClassTemplate<ClassTemplateParams...> > {
using type = typename std::tuple_element<0, std::tuple<ClassTemplateParams...> >::type;
};

关于c++ - 从模板化类中提取模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64795375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com