gpt4 book ai didi

C++, vector 对象

转载 作者:搜寻专家 更新时间:2023-10-31 01:05:59 26 4
gpt4 key购买 nike

我想在 vector 上存储对象。但我不知道为什么它不起作用。

‪#‎include‬ <iostream>
#include <vector>
using namespace std;

我在 Persona.h 文件中有一个 Persona 类。它只有两种方法:默认构造函数和名为 mensaje() 的方法都是公共(public)的,并且没有任何私有(private)成员。

#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 是迭代器而不是对象本身,您需要取消引用它:

(*p).mensaje();

p->mensaje();

更新:

for(p = personas.begin(); p <= personas.end(); p++) {

到:

for(p = personas.begin(); p != personas.end(); p++) {
^^^^^^

关于C++, vector 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21693126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com