Was ich möchte: ich habe mehrer Arrays die 8 Byte enthalten.
Möchte sie auslesen bzw. Werte im Array ändern.
z.B. EngineOnOff habe ich initialisiert. müßte beim Auslesen
die Werte des Arrays bekommen nix da:-(
Array:
EngineOnOff[]={1,2,3,4,5,6,7,8};
Bekomme sowas:
255;10;2;1;33;255;1;86 totaler MIST
Das Problem ist, ich bekomme nur falsche Werte zurück, und weiß nicht warum.
Wäre schön wenn mir Jemand helfen könnte.
Ich denke das ich mit dem Zeiger auf das Array einen Fehler mache.
Gruß Joe1964
Objekte übergibt man nicht als Wert. Weil dann eine Kopie erstellt wird
Ansonsten mache dir den Zusammenhang zwischen Arrays und Zeigern klar. Arrays sind in C++ keine komplexen Datentypen. Array Variablen zerfallen bei der Übergabe in Zeiger auf das erste Element. Die Klammern bei byte *Var[] sind also unsinnig
Ob du Zeiger, oder Referenzen übergibst, dürfte in etwa den gleichen Code ergeben.
Auf der Seite gibts keine Vorteile, oder so...
Bei dynamischer Speicherreservierung wirst du mit Pointern arbeiten müssen.
Nachteil: Du musst auch die Größe mitführen, und evtl abprüfen, um dir keine Bereichsüberschreitungen einzufangen
Arbeitest du mit Referenzen, dann bleibt die Größe des Arrays im Datentype verankert. Das vereinfacht manches.