Zitat von
malo:
Ich suche eine Möglichkeit, einen beliebigen Array-Typ als Parameter einer Funktion zu erwarten. Diese soll das Array ab einem bestimmten Index "um eins aufrücken". Ich will das jedoch ziemlich allgemein halten, und möglichst ohne Überladungen. Die sind zuviel Tipparbeit
Es gibt min. 4 Arten, wie man Arrays als Parameter übergeben kann:
1.) "normale" Array-Parameter für statische Arrays
2.) offene Array-Parameter für dynamische Arrays
3.) variante offene Array-Parameter
4.) Arrays im Datentyp Variant abgebildet
Die 4 Arten sind nicht miteinander kompatibel!
Die Idee
"eine Procedure für Alles" kannst du also gleich begraben.
Offene Array-Parameter sind an einen Datentyp gebunden. Du musst also für jeden Datentyp eine eigene
Prozedure schreiben.
Variante offene Array-Parameter haben einen grossen Overhead; bei sehr grossen Arrays sollte die nicht verwenden.
Dies gilt ebenso für Nummer 4.).
Es gäbe da noch die Funktion
Slice, die Teile von dynamischen Arrays liefert.
Aber da ist wohl viel
Compiler-Magic dabei; ich habe den Sourcecode dazu nicht gefunden.