Problem mit mehrdimensionalen Arrays
-
Hi,
ich habe ein Problem beim Programmieren und zwar geht es um folgenden
C++ - Code:const int zeile = 37; const int spalten = 255; char zeichen[zeile][spalten]; int f = 0; zeichen[f][0] = 'a';
Das Compilieren (CBuilder) des Codes führt zu folgenden Fehlermeldungen:
[C++ Fehler] Unit1.cpp(16): E2313 Konstantenausdruck erforderlich
[C++ Fehler] Unit1.cpp(16): E2021 Array muß mindestens ein Element enthalten.
[C++ Fehler] Unit1.cpp(16): E2238 Bezeichner 'zeichen' mehrfach deklariert
[C++ Fehler] Unit1.cpp(14): E2344 'zeichen' bereits deklariert
[C++ Fehler] Unit1.cpp(16): E2275 { erwartetDen Code, den hier seht ist der komplette Code. Deshalb wundern mich besonders die Fehlermeldungen [C++ Fehler] Unit1.cpp(16): E2238 Bezeichner 'zeichen' mehrfach deklariert und [C++ Fehler] Unit1.cpp(14): E2344 'zeichen' bereits deklariert , denn mehrfach deklariert ist "zeichen" ja nicht (was ihr ja am Code erkennen könnt
) aber auch die anderen Meldungen sind für mich ein Buch mit 7 Siegeln, denn der gepostete Code müsste doch eigentlich funktionieren, oder liege ich da falsch? Könnt ihr mir da weiterhelfen?
-
[code] #include <iostream> using namespace std; int main() { const int zeile = 37; const int spalten = 255; char zeichen[zeile][spalten]; int i = 0; zeichen[1][1] = 'h'; zeichen[1][2] = 'a'; zeichen[1][3] = 'l'; zeichen[1][4] = 'l'; zeichen[1][5] = 'o'; cout << zeichen[1][1] << endl; cout << zeichen[1][2] << endl; cout << zeichen[1][3] << endl; cout << zeichen[1][4] << endl; cout << zeichen[1][5] << endl; cin.get(); }
[/code]
so geht es... du musst bedenken, dass wenn du ein 2dimensionales array hast(zeichen[1][1]), dass du dann auch zeichen[1][1] = 'a' schreiben musst......
P.S.: Das int i wird nicht benötigt... ausser du packst es in eine for schleife und machst sonst was damit....
-
Vielen Dank für die Hilfe!
-
@leech:
und was ist mit dem ersten element? [0][0]??
-
ich habe zeichen[1][1] nur als beispiel genommen....
man kann auch mit zeichen[0][0] anfangen....
-
@nighthawk1984
Theoretisch sollte dein Code funktionieren, deshalb kann ich mir nicht vorstellen, dass das alles sein soll. Ich sehe ja nicht mal ein main().
Oder hat dein Compiler Probleme damit const Integer Variablen als Array Grössen zu akzeptieren?
-
Ich hab nur den Codeausschnitt gepostet, den ich geschrieben habe. Den Rest der Programmes (also zum Beispiel die Erstellung des Ausgngsformulars in Cbuilder) ist Cbuilderstandart von dem ich ausgehe, dass er richtig ist.
-
Dein Code besteht aus einigen Deklarationen und einer Anweisung. Anweisungen können aber, im Unterschied zu Deklarationen, nur in Funktionen stehen. Dein Compiler versucht anscheinend krampfhaft, dieser Anweisung, als Deklaration interpretiert, einen Sinn zu geben ... es fehlt ja auch eigentlich nur die Typangabe davor, wenn man es mal aus Sicht der Grammatik betrachtet.