У меня есть класс, который принимает параметр шаблона шаблона:
template <template <typename> class F>
class A {};
И еще один шаблонный класс с внутренним шаблонным классом:
template <typename T>
class B {
public:
template <typename U>
class C {};
};
Я хочу иметь возможность использовать C
как параметр шаблона шаблона для A
в шаблонном контексте:
template <typename T>
using D = A<B<T>::C>;
Однако это приводит к сообщению об ошибке:
"аргумент шаблона для параметра шаблона шаблона должен бытьшаблон класса или псевдоним типа "
Я предполагаю, что мне не хватает магического заклинания typename
и template
в объявлении D
, но я не могу понять это на всю жизньи сообщение об ошибке не особенно полезно.