1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
template<typename T> class GenericContainer { private: T storage; public: GenericContainer(T value) { storage = value; }; }; typedef GenericContainer<int> IntContainer; struct Foo { class Bar; Bar *bar; };