template<typename Type> class allocator {};
template<typename Type,
typename Allocator = allocator<Type> > class stack {
};
stack<int> MyStack;
Visual C++ supports the reuse of template parameters in the template parameter list. For example, the following code is now legal:
// template_specifications3.cpp
class Y {
};
template<class T, T* pT> class X1 {
};
template<class T1, class T2 = T1> class X2 {
};