如何访问std::list中的元素并更改其值?

问题描述 投票:0回答:1
struct Student {
    string Name;
    string ID;
};

所以我有一个结构,其中包含给定的字符串。

void Insert(list<Student>& List, int index, Student info)
{
    if (index< 0 || index>= List.size() || List.empty() == true)
    {
        return;
    }
    else
    {

    }
}

在“else”区域中,我想访问具有给定索引的元素并将其中的值更改为 info。

我尝试过以下几行,但没有成功。

list<Student>::iterator it = List.begin();
advance(it, index);
it = info;

提前致谢。

c++ list struct
1个回答
0
投票

在“else”区域中,我想访问具有给定索引的元素并将其中的值更改为 info。

你就快到了。您必须取消引用迭代器才能访问底层迭代器。这意味着,你必须

*it = info;
^^ --> de referencing
© www.soinside.com 2019 - 2024. All rights reserved.