Приветствую.
Я не очень хорошо знаю, как объяснить себя, но я считаю, что фрагмент кода поможет вам понять, что я собираюсь делать:
template<class A, class B>
void myFunction(A<B>& list)
{
typename A<B>::iterator current = list.begin();
typename A<B>::iterator end = list.end();
while (current != end)
{
current++;
}
}
Где A контейнер STL (вектор, список ...). Это похоже на начало, но с шаблонами: шаблон, внутри шаблона и т. д.
Дело в том, что вы делаете, когда один из параметров вашего шаблона сам по себе является шаблоном ... и по-прежнему хочет поддерживать все типы, поддерживаемые этим шаблоном.
Это, конечно, не компилируется (он говорит: «A не является шаблоном»).
Кто-нибудь знает, как создавать такой шаблон?