为什么i.X和i.Y没有在fb.Entities集合中更新?
我做错了什么?我正在学习,这是更新向量中某些内容值的正确方法吗? for (Entity i : fb.Entities)
{
if (i.Serial == SerialID)
{
i.X = (USHORT)((data[5] << 8) + data[6]);
i.Y = (USHORT)((data[7] << 8) + data[8]);
break;
}
}
答案 0 :(得分:3)
你需要
for (Entity& i : fb.Entities)
取实际实体,而非副本。
答案 1 :(得分:3)
您需要将引用带到容器元素:
for (Entity & i : fb.Entities) { /* ... */ }
// ^^^
可替换地:
for (auto & i : fb.Entities)
(否则,i
将是容器元素的副本,因此对其的任何更改都将丢失。)