Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Zweidimensionale Array als Rückgabetyp einer Funktion (https://www.delphipraxis.net/215043-zweidimensionale-array-als-rueckgabetyp-einer-funktion.html)

Kevinpptx 27. Apr 2024 13:19

Zweidimensionale Array als Rückgabetyp einer Funktion
 
Hallo,

wie erstelle ich in Delphi eine Funktion mit einer zweidimensionalen Array als Rückgabetyp?

Auf gut Glück habe ich versucht, die array-Deklaration als Rückgabetyp einzugeben, was natürlich nicht geklappt hat:

Delphi-Quellcode:
function GetZuege() : array[1..8, 1..8] of Integer;


Anscheinend geht auch sowas hier für eindimesionale Arrays:

Delphi-Quellcode:
function GetZuege() : TArray<Integer>;


Allerdings verstehe ich nicht, wie (und ob überhaupt) dies auch für zweidimensionale Arrays geht.

Aus den Antworten im Internet werde ich nicht schlau. Kann mir jemand helfen?

Danke im Voraus.

Uwe Raabe 27. Apr 2024 13:22

AW: Zweidimensionale Array als Rückgabetyp einer Funktion
 
Du brauchst einen entsprechenden Typ:
Delphi-Quellcode:
type
  TZuege = array[1..8, 1..8] of Integer;

function GetZuege() : TZuege;
begin

end;

himitsu 27. Apr 2024 13:59

AW: Zweidimensionale Array als Rückgabetyp einer Funktion
 
Zitat:

[dcc32 Fehler] E2029 Bezeichner erwartet, aber 'ARRAY' gefunden
"Bezeichner" ist an dieser Stelle der Name eines Typs ... und schon sagt dir Delphi auch, was du machen mußt. :zwinker:

Meistens gibt es zu den Fehlercodes auch eine Hilfe,
Bei Google suchendocwiki E2029
wobei sie hier mal nicht wirklich hilfreich ist, dass der Fehlercode sehr allgemein gehalten ist,
aber wenn man weiß, was Bezeichner sind (die Namen von Typen, Klassen, Funktionen, Variablen usw.) und welche Art von Bezeichner hier als Einziger logisch hin passt .........


Und das Andere geht natürlich auch für Zwei/Mehr.
Delphi-Quellcode:
TArray<TArray<Integer>>

Könnte man ebenfalls als eigenen Typ deklarieren, aber als Generic ginge es auch direkt zu nutzen.

Oder alternativ als 1-dimensionales Array, mit der Länge 64 (8*8) :wink:

Kevinpptx 27. Apr 2024 18:39

AW: Zweidimensionale Array als Rückgabetyp einer Funktion
 
Danke für die Hilfe, es funktioniert! Ihr seid meine Rettung :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz