Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched.
Close
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