Составной шаблон - PullRequest
       17

Составной шаблон

0 голосов
/ 10 мая 2018

Я пытаюсь сделать «составной» тип шаблона. Как то так

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
                        ^

Почему это не работает? Можно ли заставить его работать?

1 Ответ

0 голосов
/ 10 мая 2018

A объявлен как параметр шаблона типа ;Вы не можете использовать его в качестве имени шаблона и указать для него аргумент шаблона.

Вы хотите параметр шаблона шаблона .например,

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

Кстати, если A должен работать с несколькими аргументами шаблона, вы можете указать A с пакетом параметров шаблона :

template <template <typename...> typename A, typename T>
class configurator
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...