Arrays in Enums

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Tag,



    ich hätte eine Frage. Und zwar, wie erstellt man Arrays in enums?


    Zum Beispiel:


    Code
    enum test {
         id,
        var[5]
    }


    wie kann man nun damit arbeiten?
    Ich kriege bereits beim definieren Warnings (tag mismatch):


    Code
    new testvars[][test] {
    {1, [0, 1, 2, 3, 4}},
    {2, [0, 1, 2, 3, 4}}
    };


    Viele Grüße
    Gimbo

  • Außer der eckigen Klammer ist das genau richtig. Arrays werden immer mit geschweiften Klammern initialisiert.


    Hier ein Beispiel:

  • Ja, die eckige Klammer war ein Optikfehler, im Script hab ichs richtig.


    @Tusk, so wie du es gemacht hast. Das sind doch 3 dimensionale Arrays oder so ?
    Hatte mal sowas gelesen, es funktioniert wunderbar, danke dafür! :love:
    Ich hatte es davor so versucht, arr[0][array[0]]. Das funktionierte nicht, ich kann mir aber nicht erklären warum :huh:



    Viele Grüße
    Gimbo

  • Das sind doch 3 dimensionale Arrays oder so ?

    Nein, das sieht nur so aus. Kommt von der Schreibweise, dass das Array außerhalb steht.


    enum test {
    id,
    var[5]
    }


    new testvars[][test] = {
    {1, {0, 1, 2, 3, 4}},
    {2, {0, 1, 2, 3, 4}}
    };


    public OnGameModeInit()
    {
    printf("%d", testvars[0][var][2]); //Das Array muss außerhalb der Klammer stehen
    return 1;
    }