加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖名称不是类型[关于模板类中的迭代器]

发布时间:2020-12-14 05:32:41 所属栏目:百科 来源:网络整理
导读:今天在封装STL时候遇到了这么一个问题 templateclass Tclass MyList{public:typedef std::listT::iterator iterator;}; 当我想这样封装迭代器的时候,编译器告诉我:依赖名称不是类型 遂百度。得答案: templateclass Tclass MyList{public:typedef typename

今天在封装STL时候遇到了这么一个问题

template<class T>
class MyList
{
public:
	typedef std::list<T>::iterator iterator;
};

当我想这样封装迭代器的时候,编译器告诉我:依赖名称不是类型

遂百度。得答案:

template<class T>
class MyList
{
public:
	typedef typename std::list<T>::iterator iterator;
};

这样写即可。typename关键字会将后面的内容认为是一个类型。

但是其实还是没完全搞明白,待搞明白了来续写个详细原因。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读