Wieso mekkert der compiler hier bei "const" nich?
-
Folgende funktion:
const CWorkEvent* &Starts_At(UINT iIndex){ return m_vRelationship[iIndex].pStarts_Here; //return m_vRelationship[iIndex].second; }aufruf... (ich weis man sollte es so nich machen..aber es wunder mich das es geht)
CWorkEvent* pTarget=....; Starts_At(..)= pTarget; //hier wird der const zeiger überschrieben
-
Ist relativ einfach zu erklären. Du veränderst mit dem Code ja nicht das Objekt (das nicht verändert werden darf), sondern verbiegst "nur" den Zeiger und das hast du nicht verboten.

-
konstanter zeiger auf veränderbares objekt.
const CWorkEvent* const &Starts_At(UINT iIndex) const{ return m_vRelationship[iIndex].pStarts_Here; //return m_vRelationship[iIndex].second; }
-
ich dachte
Starts_At(..)= /*<-- ab hier Constant*/ pTarget;und trozdem zuweisung möglich
-
Du dachtest wohl falsch.
-
Das Objekt ist ab da konstant... aber nicht die Variable mit dem Zeiger auf das Objekt...