带模板的类型类型?

Mai*_*ein 1 c++

template<???>    
struct Container{
  T t;
  M<T> v;
}
Run Code Online (Sandbox Code Playgroud)

哪里Container<vector<int>>应该生成

struct Container{
 int t;
 vector<int> v;
}
Run Code Online (Sandbox Code Playgroud)

我可以用模板表达这个吗?

Rob*_*ahy 6

是:

template<typename T, template <typename, typename> class M>
struct Container {
    T t;
    M<T,std::allocator<T>> v;
};
Run Code Online (Sandbox Code Playgroud)

用于:

Container<int,std::vector>
Run Code Online (Sandbox Code Playgroud)

交替:

template <typename C>
struct Container {
    typename C::value_type t;
    C v;
};
Run Code Online (Sandbox Code Playgroud)

并使用:

Container<std::vector<int>>
Run Code Online (Sandbox Code Playgroud)