I\'m trying to define a function using template template parameters (I just want to know how it works). I have the following:
template
What you have is a non-deduced context, aswell as a template template parameter mismatch even if the context was deducible. std::vector takes a second template parameter, the allocator, that is defaulted to std::allocator.
For the non-deduced context, T can never be deduced and will always have to be specified, the typename indicates this. See this question for the gory details.