C++学习:关于“std::vector<Type>::iterator”的一个错误
2015-01-07 20:37
736 查看
在类模板里面定义如下迭代器:
则会出现如下图所示的错误:
这是由于:vector本身就是模板,在其模板参数未确定之前,也就是Type 的具体类型没有确定之前,这个Type是未知的。
解决方法如下:
加上typename就是告诉编译器先不管具体类型,等模板实例化的时候再确定吧。
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就是告诉编译器先不管具体类型,等模板实例化的时候再确定吧。
相关文章推荐
- 关于C++ vector<S>使用时,错误 5 error C2719: “_Val”: 具有 __declspec(align('16')) 的形参将不被对齐
- C++ 错误: ‘std::vector<float> feat’的声明隐藏了一个形参
- <kingofark关于学习C++和编程的50个观点> 详解 - 预览版
- 实战c++中的vector系列--使用sort算法对vector进行排序(对vector<string>排序、使用稳定的排序std::stable_sort())
- C++&nbsp;学习&nbsp;&lt;三&gt;&nbsp;:错误与解决方法
- std::vector<std::string>::size_type和 int的区别
- C++关于std namespace与# include<iostream>关系的有关问题
- #碰到的小问题#c++中vector<int> 和vector<int>::iterator有什么不同
- spring使用@value关于<context:component-scan base-package=”com.baidu” />的一个错误
- 实战c++中的vector系列--对vector<自定义类>使用std::find 和 std::find_if 算法
- convert 'std::vector<>::iterator {aka __gnu_cxx::__normal_iterator<*, std::vector<> >}' to '*' in in
- 不能将参数 1 从“int”转换为“std::_Vector_const_iterator<_Myvec>”(VS2010 )
- 关于include<vector>编译错误问题
- C++ 使用::std::vector<>
- 关于C++ 学习的几点 理解 之 c++关键字详解(volatile,mutable,explicit,dynamic_cast<T>(expression))等
- <C++学习笔记>预处理功能
- 学习java笔记 --- 一个实现Iterable<E>接口的小范例
- 关于< tbody >的一个实例,很实用。
- 关于< tbody >的一个实例,很实用。
- Android NDK学习 <五> C++ 支持