gpt4 book ai didi

c++ - 复合模板

转载 作者:行者123 更新时间:2023-11-30 01:04:19 25 4
gpt4 key购买 nike

我正在尝试创建“复合”模板类型。像这样

template <typename A, typename T>
class configurator
{
public:
configurator(const A<T> & adapter) : m_adapter(adapter) {}
private:
A<T> m_adapter;
};

编译器提示

error: expected ')'
configurator(const A<T> & adapter
^

为什么这不起作用?有可能让它发挥作用吗?

最佳答案

A 声明为 type template parameter ;您不能将它用作模板名称并为其指定模板参数。

你想要template template parameter .例如

template <template <typename> typename A, typename T>
class configurator

顺便说一句,如果 A 应该与多个模板参数一起使用,您可以使用 template parameter pack 指定 A :

template <template <typename...> typename A, typename T>
class configurator

关于c++ - 复合模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50270165/

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