template template total specialization - Stack Overflow
使う機会はあまりないでしょうけど。
#include <vector> #include <list> template <template <class...> class Container> struct X { Container<int> c; }; template <> struct X<std::vector> { std::vector<std::string> c; }; int main() { X<std::list> ls; ls.c.push_back(3); X<std::vector> v; v.c.push_back("hello"); }