STL中vector的问题
#include <iostream>
#include <vector>
using namespace std;
void main()
{
std::vector<int> m_vec;
m_vec.push_back(0);
m_vec.push_back(1);
for(int index = 0, std::vector<int>::iterator it = m_vec.begin(); it != m_vec.end(); ++it,++index)
{
cout<<index<<endl;
}
}
编译后出现一下错误,貌似没有重载!=操作
1>------ 已启动生成: 项目: Test, 配置: Debug Win32 ------
1>正在编译...
1>Test.cpp
1>f:\test\test\test\test.cpp(11) : error C2146: 语法错误 : 缺少“,”(在标识符“it”的前面)
1>f:\test\test\test\test.cpp(11) : error C2350: “std::vector<_Ty>::iterator”不是静态成员
1> with
1> [
1> _Ty=int
1> ]
1>f:\test\test\test\test.cpp(11) : error C2440: “初始化”: 无法从“std::_Vector_iterator<_Ty,_Alloc>”转换为“int”
1> with
1> [
1> _Ty=int,
1> _Alloc=std::allocator<int>
1> ]
1> 没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>f:\test\test\test\test.cpp(11) : error C2784: “bool std::operator !=(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)”: 无法从“int”为“const std::vector<_Ty,_Alloc> &”推导 模板 参数
1> d:\学习软件\visual studio 2005\vc\include\vector(1268) : 参见“std::operator !=”的声明
1>f:\test\test\test\test.cpp(11) : error C2784: “bool std::operator !=(const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &,const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &)”: 无法从“int”为“const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &”推导 模板 参数
1> d:\学习软件\visual studio 2005\vc\include\iterator(277) : 参见“std::operator !=”的声明
1>f:\test\test\test\test.cpp(11) : error C2784: “bool std::operator !=(const std::allocator<_Ty> &,const std::allocator<_Other> &) throw()”: 无法从“int”为“const std::allocator<_Ty> &”推导 模板 参数
1> d:\学习软件\visual studio 2005\vc\include\xmemory(181) : 参见“std::operator !=”的声明
1>f:\test\test\test\test.cpp(11) : error C2784: “bool std::operator !=(const std::istreambuf_iterator<_Elem,_Traits> &,const std::istreambuf_iterator<_Elem,_Traits> &)”: 无法从“int”为“const std::istreambuf_iterator<_Elem,_Traits> &”推导 模板 参数
1> d:\学习软件\visual studio 2005\vc\include\xutility(2190) : 参见“std::operator !=”的声明
1>f:\test\test\test\test.cpp(11) : error C2784: “bool std::operator !=(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)”: 无法从“int”为“const std::reverse_iterator<_RanIt> &”推导 模板 参数
1> d:\学习软件\visual studio 2005\vc\include\xutility(1872) : 参见“std::operator !=”的声明
1>f:\test\test\test\test.cpp(11) : error C2784: “bool std::operator !=(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)”: 无法从“int”为“const std::pair<_Ty1,_Ty2> &”推导 模板 参数
1> d:\学习软件\visual studio 2005\vc\include\utility(68) : 参见“std::operator !=”的声明
1>f:\test\test\test\test.cpp(11) : error C2677: 二进制“!=”: 没有找到接受“std::_Vector_iterator<_Ty,_Alloc>”类型的全局运算符(或没有可接受的转换)
1> with
1> [
1> _Ty=int,
1> _Alloc=std::allocator<int>
1> ]
1>生成日志保存在“file://f:\Test\Test\Test\Debug\BuildLog.htm”
1>Test - 10 个错误,0 个警告
========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========