向量元素未更新

vector element not updating

本文关键字:更新 元素 向量      更新时间:2023-10-16

为什么在fb中没有更新i.X和i.Y ?实体集合?

我做错了什么吗?我在学习,这是更新向量值的正确方法吗?

    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;
        }
    }

你需要

for (Entity& i : fb.Entities) 

取实际实体,而非复制。

您需要将引用到容器元素:

for (Entity & i : fb.Entities)  { /* ... */ }
//         ^^^

另外:

for (auto & i : fb.Entities)

(否则,i将是容器元素的副本,因此对它的任何更改都将丢失。)