Übergabe von zweidimensionalen ENUM-Array in Unterfunktion klappt nicht

  • Hallo zusammen,


    ich bekomme es nicht hin ein zweidimensionales Array (Datentyp enum) in eine Unterfunktion zu übergeben. Geht das wirklich nur mit Strings/Char oder mache ich was falsch? Anbei ein Minimalbeispiel. In der Zeile mit *** bekomme ich die Fehlermeldungen "In einer Bereichszuweisung eines Arrays ist nur der Datentyp String und Char zulässig" und "Der Index ist ungültig" (siehe Screenshot).


  • Schritt für Schritt zum Roboterprofi!
  • Da müsste doch noch ein Komma rein


    DEFFCT INT best_move (field_status[] : OUT)
    DECL FIELD_TYPE field_status[]

    zu

    DEFFCT INT best_move (field_status[,] : OUT)
    DECL FIELD_TYPE field_status[,]

    Manche Maenner bemuehen sich lebenslang, das Wesen einer Frau zu verstehen. Andere befassen sich mit weniger schwierigen Dingen z.B. der Relativitaetstheorie.

  • Was willst du denn in ret sehen?

    ret ist als INT deklariert.

    Gruß Roland


    Wie poste ich falsch?

    Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Ich bin wie ich bin. Die Einen kennen mich, die Anderen können mich.

    Konrad Adenauer

  • das war nur ein Fehler...


    Andere Problem hat mit Scope zu tun...

    da ENUM in SRC deklariert ist, es ist nur inerhalb dieser routine bekant. Funktion BEST_MOVE() hat keine Ahnung von FILED_TYPE.


    Da mehr als eine Routine/Funktion mit FIELD_TYPE umgehen, relevante deklarierungen mussen von SRC nach DAT verschiebt sein:


    Code
    ENUM FIELD_TYPE empty, cross, circle
    DECL FIELD_TYPE field_status[3,3]

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden