検索

ホームページ  >  に質問  >  本文

c++ - read-only variable is not assignable问题

不知道该如何叙述这个问题,请看代码:

#include <set>
#include <iostream>
using namespace std;

struct test {
    int data[3];
};

int main(void) {
    test t1;
    set<test> s;
    s.insert(t1);
    s.begin()->data[0] = 1;//此处赋值报错:read-only variable is not assignable

    return 0;
}

应该是set内部的问题吧?
求高人解释,非常感谢...

PHP中文网PHP中文网2813日前906

全員に返信(3)返信します

  • 高洛峰

    高洛峰2017-04-17 14:27:34

    セット内の要素は変更できません。追加または削除のみ可能です。 http://www.cplusplus.com/refe...

    リーリー

    返事
    0
  • ringa_lee

    ringa_lee2017-04-17 14:27:34

    これは、読み取り専用の変数を割り当てることができないことを意味しているようです。 。 。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-17 14:27:34

    set のイテレータは読み取り専用であり、変更することはできません (要素は set 内で内部的にソートされているため、要素の値を自由に変更すると順序が崩れる可能性があります)。

    要素の値を変更するには、まず古いものを削除してから、新しいものを挿入する必要があります

    返事
    0
  • キャンセル返事