首页 > 代码库 > C++学习:关于“std::vector<Type>::iterator”的一个错误
C++学习:关于“std::vector<Type>::iterator”的一个错误
在类模板里面定义如下迭代器:
template<class Type> class className { private: vector<Type>::iteratoriter; };
则会出现如下图所示的错误:
这是由于:vector本身就是模板,在其模板参数未确定之前,也就是Type 的具体类型没有确定之前,这个Type是未知的。
解决方法如下:
template<class Type> class className { private: typename vector<Type>::iterator iter; };
加上typename就是告诉编译器先不管具体类型,等模板实例化的时候再确定吧。
C++学习:关于“std::vector<Type>::iterator”的一个错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。