typename和class的区别

typename和class

在模板类的声明中,我们有两种方式:

template <class T>
template <typename T>

在这里,class和typename是相同的。但是当你需要使用模板类中定义的内部类型的时候,那么就必须使用typename

template <class T>
class MyClass{
    typename T::SubType * ptr;
    ...
};
posted @ 2020-11-19 11:23  HachikoT  阅读(341)  评论(0编辑  收藏  举报