Inkrementieren eines Wertes eines Pointers
-
Hi.
Hab mal 'ne schnelle Frage.
Ich benutze für ein selbst erstelltes Menü Pointer, dessen Wert ich bei Tastendruck nach Rechts auf der Pfeiltaste inkrementieren möchte.
Nun saß ich ca. 1 Stunde daran um herauszufinden, warum folgender Code crasht:*this->iVariable++;
Trotz des * vor der Variable wird die Adresse inkrementiert, NICHT der Wert.
Folgender Code funktioniert jedoch:*this->iVariable += 1;
Ich möchte eigentlich nur wissen, warum das so ist. Nach meiner Logik sollten doch beide Variante funktionieren, oder nicht?
Ich hoffe dass kann mir jemad erklären, damit ich den Fehler verstehe
~ Chris
-
Das ist normal, da einstellige Operatoren rechtsbindend sind. Das heisst dein Code bedeutet:
*(this->iVariable++);
Du willst aber:
(*this->iVariable)++;
Und dafür musst du die Klammern lassen.
-
Danke
~ Chris