class MyMap : public std::map<int, MyMap> {}; class MyVector : public std::vector<MyVector> {}; int main() { MyMap mm; MyVector mv; mv.push_back(mv); return 0; }