我想在矢量上存储对象。但我不知道为什么它不起作用。C++,矢量上的对象
#include <iostream>
#include <vector>
using namespace std;
我在Persona.h文件中有一个Persona类。它只有两种方法: 默认构造函数和一个名为mensaje()的方法都是公共的,它没有任何私有成员。
#include "Persona.h"
int main()
{
vector<Persona> personas;
Persona persona1;
Persona persona2;
personas.push_back(persona1);
personas.push_back(persona2);
vector<Persona>::const_iterator p;
for(p = personas.begin(); p <= personas.end(); p++) {
这里就是我得到错误信息
p.mensaje();
}
}
我认为问题是,我想打电话给“P”的方式。 是否正确尝试使用const_iterator而不是其他类型?
'p <= personas.end()'应该是'<'。另外'p'是一个迭代器,因此您应该在迭代器上使用' - >'而不是'.'来访问类的成员。 – user3286380
你看过关于如何使用迭代器的任何参考吗? – chris
@ user3286380,它应该是'!=',真的。 – chris