vector als REferenz übergeben, so dass Original bearbeitet wird
-
Ich habe folgendes Problem:
Eine Liste von vectoren innerhalb einer weiteren Liste:
widgetVariationList->setVariationList(CouplerList[row].VariationList);die ich zum Bearbeiten an eine weitere Klasse übergebe
void widgetCouplerVariationList::setVariationList(vector<GratingShapeListDef> & List) { VariationList = List; }Dort kann die Liste bearbeitet werden. Dabei soll aber eigentlich die Originalliste, also
CouplerList[row].VariationListbearbeitet werden.
So wie ich es gemacht habe funktioniert das offensichtlich nicht. Wie muss ich es dann anders machen?
Matthias
-
void widgetCouplerVariationList::setVariationList(vector<GratingShapeListDef> & List) { VariationList = List; }Was ist der Typ von VariationList?
SImon
-
simon.gysi schrieb:
[cpp]void
Was ist der Typ von VariationList?
SImon[cpp]
vector<GratingShapeListDef> VariationList;
[/cpp]
-
Dann wird bei der Zuweisung eine neue Instanz erzeugt.
Benutze Pointer.widgetVariationList->setVariationList(&(CouplerList[row].VariationList));void widgetCouplerVariationList::setVariationList(vector<GratingShapeListDef>* List) { VariationList = List; }vector<GratingShapeListDef>* VariationList;