在模板类的声明中,我们有两种方式:
template <class T> template <typename T>
在这里,class和typename是相同的。但是当你需要使用模板类中定义的内部类型的时候,那么就必须使用typename:
typename
template <class T> class MyClass{ typename T::SubType * ptr; ... };