迭代器问题,请高手解答,谢谢

zaixiankaifa zaixiankaifa 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

#include<vector>
#include<iostream>
using namespace std;
class Student{
public:
Student(void):m_strName("没想好"){}
Student(const string& strName):m_strName(strName){}
friend ostream& operator<<(ostream& os,const Student& student){
return os<<'<'<<student.m_strName<<'>';
}
private:
string m_strName;
};


template<class T>
void print(T& vn){
cout<<"向量原数个数:"<<vn.size()<<endl;

for(vector<int>::iterator it=vn.begin();it !=vn.end();it++)
cout<<*it<<' ';


/* for(int i=0;i<vn.size();i++)
cout<<vn[i]<<' ';
cout<<endl;
*/


}


int main(){
vector<int> vn;
vn.push_back(34);
vn.push_back(23);
print<vector<int> >(vn);
vector<int>::iterator it=vn.begin();
*it=69;
*(it+1)=56;
print(vn);
*it=89.8;
print(vn);
vn[1000]=99;
print(vn);
cout<<vn[1000]<<endl;
vn.push_back(10);
print(vn);
vn.pop_back();
print(vn);
vector<int>vn2(5,34);
print(vn2);
vector<Student>vn3(10,Student("san"));
vn3[0]=Student("张飞");
vn3[3]=Student("赵云");
vn3[5]=Student("lisi");
vn3.push_back(Student("关羽"));
cout<<vn3[5]<<endl;
cout<<vn3.front()<<endl;
cout<<vn3.back()<<endl;
print(vn3);
return 0;
}


在编译到:print(vn3);时提示错误,提示错误的位置在:for(vector<int>::iterator it=vn.begin();it !=vn.end();it++),不知道为什么这样子错误提示:No viable conversion from 'iterator'(aka'_normal_iterator<pointer,vector_type>')to'vector<int>::iterator'(.....

请各位高手帮助解答
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
zaixiankaifa
新手乐园 33,315 成员 41,769 内容