C++学习:关于“std::vector<Type>::iterator”的一个错误

来源:互联网 发布:超市收银软件多少钱 编辑:程序博客网 时间:2024/05/22 08:16


在类模板里面定义如下迭代器:

template<class Type>class className{private:         vector<Type>::iterator iter;};

则会出现如下图所示的错误:



 

这是由于:vector本身就是模板,在其模板参数未确定之前,也就是Type 的具体类型没有确定之前,这个Type是未知的。

 

解决方法如下:

 

template<class Type>class className{private:         typename vector<Type>::iterator iter;};

加上typename就是告诉编译器先不管具体类型,等模板实例化的时候再确定吧。

0 0
原创粉丝点击