Hallo zusammen, ich habe ein Problem mit einem Setter. Ich habe dieses array: uint8_t _newPosX[6] = {5, 10, 15, 20, 25, 30}; der Getter lt. const uint8_t* getNewPosX() const { return _newPosX; } den Setter habe ich so versucht: void setNewPosX(uint8_t* newPosX){ _newPosX = newPosX; } auch schon in Variationen wie [], *, &. Leider kein Erfolg. Die Fehlermeldung: incompatible types in assignment of 'uint8_t* {aka unsigned char*}' to 'uint8_t [6] {aka unsigned char [6]}' hilft mir auch nicht wirklich weiter. Was mache ich da falsch? Für jede Hilfe dankbar. Gruß Willi.
:
Bearbeitet durch User
Willi K. schrieb: > Was mache ich da falsch? Für jede Hilfe dankbar. Du solltest dir darüber klar werden, ob du nur einen Pointer auf die Daten setzen und zurückgeben möchtest, oder aber die Daten selbst (also kopieren möchtest).
Soll das ganze Array oder nur ein Wert gesetzt werden? Vielleicht hilft ja std::vector.
Danke für die schnelle Antwort. Das ist genau mein Dilemma. ich möchte z.B. dies erreichen: term.print(getPosY()+i, getPosX()+FRAME_WIDTH-1, "|", INVERSE); Die primitiven Setter habe ich verstanden. Gruß Willi
Willi K. schrieb: > term.print(getPosY()+i, getPosX()+FRAME_WIDTH-1, "|", INVERSE); Mach das mal ohne Pointerarithmetik:
1 | term.print(getPosY(i), getPosX(FRAME_WIDTH - 1), "|", INVERSE); |
Vielleicht fällt jetzt der Groschen, wie Du Deine "Getter" sinnvoll formulieren kannst.
Danke für die schnelle Antwort. Habe ich nicht ganz verstanden, aber ich versuche es. Vielen Dank nochmal. Willi
Hey, Problem behoben. Dein Tipp war goldrichtig, ich musste ihn nur richtig umsetzen. Wieder was gelernt. Allen ein schönes Weihnachtsfest. Gruß Willi
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.