依赖名称不是类型[关于模板类中的迭代器]
发布时间: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关键字会将后面的内容认为是一个类型。 但是其实还是没完全搞明白,待搞明白了来续写个详细原因。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |