Я хочу знать, если это вообще возможно, чтобы иметь код, который имеет следующее поведение:параметров шаблона шаблона без указания внутреннего типа
int main()
{
func<vector>(/*some arguments*/);
}
То есть, я хочу, чтобы пользователь, чтобы иметь возможность указать контейнер без указания типа, в котором он работает.
Например, некоторые (мета) код (который не работает с выше), которые могли бы определить func
будет выглядеть следующим образом:
template<typename ContainerType>
int func(/*some parameters*/)
{
ContainerType<int> some_container;
/*
operate on some_container here
*/
return find_value(some_container);
}
Ну, у вас уже есть ответ в заголовке вопроса ... –
@dasblinkenlight: Это в высшей степени возможно. Вам нужен параметр шаблона шаблона, точно так же, как говорит OP в вопросе. –
Обратите внимание, что в то время как параметры шаблона шаблона существуют, они редко являются правильным способом параметризации вещей. Как правило, гораздо лучше параметризировать тип и извлекать функции типов через признаки. –