Я нашел следующее утверждение в книге Шаблон C ++: Полное руководство:
Параметры шаблона шаблона для шаблонов функций не допускаются.
Но он следующий кусок кода компилирует и запускает для меня.
template< typename T, template <typename elem,typename = std::allocator<elem> > class Cont>
void disp(const Cont<T>& t)
{
for(auto it = t.cbegin(); it != t.cend(); ++it)
{
cout<<"Value : "<<*it<<endl;
}
}
int main()
{
int arr[] = {1,2,3,4,5};
std::vector<int> vec(arr, (arr+ sizeof(arr)/sizeof(arr[0])));
disp(vec);
}
Означает ли это, что новый стандарт C ++ поддерживает параметры шаблона шаблона для функции? Ответ на следующий пост говорит иначе:
Как заставить шаблонный аргумент работать с функциями?
Задача ещё не решена.
Других решений пока нет …