Поддерживаются ли параметры шаблона шаблона для функции в новых стандартах C++?

Я нашел следующее утверждение в книге Шаблон 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++ поддерживает параметры шаблона шаблона для функции? Ответ на следующий пост говорит об обратном: Как заставить шаблонный аргумент работать с функциями?

0 ответов

Другие вопросы по тегам