Zuweisung eines Datenelements in schreibgeschützter Struktur, Klasse in AWL-Menge

Das minimale Beispiel für das Problem, das ich habe, ist unten wiedergegeben:

#include <set>
using namespace std;

class foo {
public:
  int value, x;
  foo(const int & in_v) {
   value = in_v;
   x = 0;
  }
  bool operator<(const foo & rhs) const {
   return value < rhs.value; 
 }
};

int main() {
  foo y(3);
  set<foo> F;
  F.insert(y);

  // Now try to modify a member of the set
  F.begin()->x=1;
  return 0;
}

it dem Fehlerror: assignment of data-member ‘foo::value’ in read-only structure. Ich habe das Gefühl, dass ich hier etwas Einfaches vermisse, aber warum kann ich das Mitglied @ nicht änderx in meiner Klasse

Antworten auf die Frage(6)

Ihre Antwort auf die Frage