迭代器问题,请高手解答,谢谢
#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'(.....
请各位高手帮助解答
...全文
相关推荐
Python岗位常规面试题.pdf
,其他问题也遵循类似的解答思路。
SXU 第三章迭代器 3.4STL迭代器 —附考点和相关习题及解答
《C++ STL基础及应用》刘德山、金百东编著;C++STL迭代器分类-主讲容器自带迭代器—附考点和相关习题及解答
.C++面试题 .C++面试题 .C++面试题
这份"C++面试题"集合了经典实用的问题,旨在测试你对C++语言的深入理解和细节把握。如果你能顺利解答其中大部分问题,那么你在C++领域的知识基础已经相当扎实。一、基础语法与类型系统1.
C++函数手册+(LibraryFunctions)
在阅读这份手册时,配合"使用前请看(别说我没申明).txt"文件可能会提供额外的指导,比如注意事项、使用技巧或者常见问题解答,以帮助读者更好地理解和应用手册中的内容。
《C++程序设计语言》习题答案
但请务必记住,实际动手编写和调试代码才是提升编程技能的关键。如果条件允许,尝试将习题答案作为参考,而不要完全依赖,这样可以更好地锻炼自己的编程思维和问题解决能力。


新手乐园
