[英]iterator with vector pointer
我创建了一个指针向量
vector<Person*> *personVec = new vector<Person*>();
人包含:
getName();
getAge();
如果我尝试使用迭代器它不起作用..这是我如何使用它:
vector<Person>::iterator it;
for(it = personVec->begin() ;
it != personVec->end() ;
++it)
{
cout << it->getName() << endl;
}
我尝试了vector<Person*>::iterator it;
但也没有运气。
谢谢。
迭代器需要与容器的类型相同:
vector<Person>::iterator it;
应该:
vector<Person*>::iterator it;
vector<Person*> *personVec = new vector<Person*>();
这是指向人指针向量的指针
vector<Person>::iterator it;
for(it = personVec->begin() ; it != personVec->end() ; ++it)
{
cout << it->getName() << endl;
}
你的iter声明不正确你需要一个人指针向量的iter
你有一个人的矢量
vector<Person*>::iterator it;
for(it = personVec->begin() ; it != personVec->end() ; ++it)
{
cout << (*it)->getName() << endl;
}
http://www.cplusplus.com/reference/std/iterator/
和
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.