[Solved] Please teach me how to make the template parameters of a following function


Maybe you want this?

template <template <typename ...> class C, typename ...Args>
bool CompareVector(C<Args...> const * lhs, C<Args...> const * rhs)
{
    // ...
}

If you only want it to work for vectors:

template <typename T, typename A>
bool CompareVector(std::vector<T, A> const * lhs, std::vector<T, A> const * rhs);

If you want it to work for arbitrary template classes whose first template argument is a template class with one argument (but why):

template <template <typename ...> class C,
          template <typename> class SP,
          typename T,
          typename Args...>
bool CompareBizzare(C<SP<T>, Args...> const * lhs, /* ... */);

Note that none of your desired function arguments are specializations of a template that has template template parameters. The standard library does not contain any templates that take template template parameters (for now).

3

solved Please teach me how to make the template parameters of a following function