【发布时间】:2014-02-11 04:28:38
【问题描述】:
我想将对象存储在向量上。但我不知道为什么它不起作用。
#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,应该是
!=,真的。
标签: c++ vector iterator constants