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!