und zwar möchte ich eine Funktion implementieren, welche einen Pointer auf ein Array übergeben bekommt und mit diesem gewisse Operationen durchführt.
Das Problem ist, dass dieses Array nicht immer gleich groß ist. Deshalb meine Frage ob das mit einem dynamischem Array realisierbar wäre.
Hier ein kleines Code-Beispiel wie ich mir das vorgestellt hätte:
FUNCTIONARR_Test:BOOLVAR_INPUTEND_VARVAR_IN_OUTÂ Â test_array:POINTERTOARRAY[*,*]OFINT;END_VARVARÂ Â arr_max_1:DINT;Â Â arr_max_2:DINT;Â Â arr_min_1:DINT;Â Â arr_min_2:DINT;END_VAR
Hier bekomme ich nur folgende Fehlermeldung, womit ich leider nichts anfangen kann: C0386: Ein Typ eines Arrays von variabler Länge muss an der obersten Position einer Typdeklaration stehen
Wäre super wenn mir jemand weiterhelfen könnte.
Vielen Dank!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
und zwar möchte ich eine Funktion implementieren, welche einen Pointer auf ein Array übergeben bekommt und mit diesem gewisse Operationen durchführt.
Das Problem ist, dass dieses Array nicht immer gleich groß ist. Deshalb meine Frage ob das mit einem dynamischem Array realisierbar wäre.
Hier ein kleines Code-Beispiel wie ich mir das vorgestellt hätte:
Hier bekomme ich nur folgende Fehlermeldung, womit ich leider nichts anfangen kann:
C0386: Ein Typ eines Arrays von variabler Länge muss an der obersten Position einer Typdeklaration stehen
Wäre super wenn mir jemand weiterhelfen könnte.
Vielen Dank!
Moin,
das Array in deiner Funktion ist falsch deklariert.
So funktioniert es:
test_array : ARRAY[,] OF INT;
ThK