Wieso kann ich diesem Array keinem Wert zuweisen?



  • Wieso kann ich diesem Array keinem Wert zuweisen?

    short Steine_Array[2][2][2] = {0};
    
    Steine_Array[0][0][0] = 1;
    

    Mein Compiler Dev-C++ bringt die folgende Fehlermeldung:

    haupt.cpp expected constructor, destructor, or type conversion before '=' token
    haupt.cpp expected ,' or;' before '=' token
    Makefile.win [Build Error] [haupt.o] Error 1



  • Bin mir net 100%ig sicher.

    Aber ich glaube die erste Zeile:

    short Steine_Array[2][2][2] = {0};

    ist nicht zulässig. AFAIK musst du bei Arrays fester Größe, wie bei dir, jedem Element einzeln einen Wert zuweisen. So:

    short Steine_Array[2][2][2] = {0,0,0,0,0,0,0,0};
    


  • Danke, aber der Fehler ist immer noch nicht weg.

    Ich hab Array-initalisierungen bisher so gemacht. Werde also nun anders initialisieren.



  • Steht die Zuweisung in irgendeiner Funktion? Das muss sie nämlich.



  • Bei mir gehen folgende Schreibweisen jedoch problemlos...

    short Array1[2][2][2] = {{{0,0},{0,0}},{{0,0},{0,0}}};
    	short Array2[2][2][2] = {0,0,0,0,0,0,0,0};
    	short Array3[2][2][2] = {0};
    

    Hast du vielleicht sonst einen Syntaxfehler? Zeig mal den gesamten Code und sag, in welcher Zeile der Fehler auftritt.
    Mach die Initialisierung ansonsten mit verschachtelten For-Schleifen.

    MFK schrieb:

    Steht die Zuweisung in irgendeiner Funktion? Das muss sie nämlich.

    Wieso sollte sie das müssen?



  • Der Fehler tritt genau in dieser Zeile auf:
    Steine_Array[0][0][0] = 1;

    Und ich vermute mal nicht, dass es an der Initialisierung des Arrays liegt, sondern an der Zuweisung.



  • Steine_Array[0][0][0] = 1;
    

    Das muss innerhalb von einer Funktion (z.B. main) stehen und nicht irgendwo im globalen Bereich.



  • Danke, der Fehler kommt jetzt nicht mehr!


Anmelden zum Antworten