我遍历结构向量中的一组元素并想要更改其中一个结构中的元素。当我写入元素来更改值时,更新不会保留。以下是我有:更改结构向量中的元素
首先,在头文件:
std::vector<Sched::ScheduledEvent_t> v_SchedEvents;
typedef std::vector<Sched::ScheduledEvent_t>::const_iterator event_iter;
后来在一个.cpp模块...
for (event_iter i = v_SchedEvents.begin(); i != v_SchedEvents.end(); ++i)
{
ScheduledEvent_t event = *i;
if(event.member == true) {
event.member = false;
}
}
event.member了给定的值向量中的结构不会保持错误。当返回到这个循环时,条件语句再次运行。
难道它与迭代器的typedef有什么关系吗?
的引用也将解决这个问题,但是你根本没有解释,那么为什么还要提到它呢? –
带括号:'(* i).member = false;' –
不赞同。 '* i.member = false;'也不''(* i).member = false;'会起作用。 –