#c #templates
#c #шаблоны
Вопрос:
Я пытаюсь определить два шаблонных типа:
template <typename T1, typename T2>
class A {};
template <typename T1, typename T2>
using BType = std::vector<typename A<T1, T2>>::iterator;
Я получаю сообщение об ошибке недопустимых шаблонов. Интересно, что я здесь сделал не так.
Ответ №1:
Вам нужно переместить положение typename
,
Внутри объявления или определения шаблона
typename
может использоваться для объявления того, что зависимое квалифицированное имя является типом.
template <typename T1, typename T2>
using BType = typename std::vector<A<T1, T2>>::iterator;
// ^^^^^^^^