Я хочу хранить объекты на векторах. Но я не знаю, почему это не работает.C++, Объекты на векторе
#include <iostream>
#include <vector>
using namespace std;
У меня есть класс Persona в файле Persona.h. И он имеет только два метода: Конструктор по умолчанию и метод, называемый 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();
}
}
Я думаю, что проблема в том, как я пытаюсь вызвать «р». Правильно, что я пытаюсь использовать const_iterator вместо любого другого типа?
'р <= personas.end()' 'должно быть <'. Также 'p' является итератором, поэтому вы должны использовать' -> ', а не' .' на итераторе для доступа к членам класса. – user3286380
Вы рассматривали любые ссылки на использование итераторов? – chris
@ user3286380, Это должно быть '! =', Действительно. – chris