0

fb.EntitiesコレクションでiXとiYが更新されないのはなぜですか?

私は何か間違ったことをしていますか?私は学んでいます、これはベクトル内の何かの値を更新する正しい方法ですか?

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

2 に答える 2

3

あなたが必要です

for (Entity& i : fb.Entities) 

コピーではなく、実際のエンティティを取得します。

于 2012-12-22T16:37:10.643 に答える
3

コンテナ要素への参照を取る必要があります:

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

または:

for (auto & i : fb.Entities)

(それ以外の場合は、コンテナ要素のコピーiになるため、それに対する変更はすべて失われます。)

于 2012-12-22T16:37:24.573 に答える