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