for-Schleife: Ich finde den Fehler nicht
-
Hallo:
Ich habe folgende Datei:#ifndef consts.h #define consts.h const int Niemand = 0; //Leeres Feld,bei Der gewinnüberprüfung -> Der Spieler hat keine 4 in einer Reihe const int Spieler1 = 1; const int Spieler2 = 2; //Spielfeld const int Spielfeld_Breite = 7; const int Spielfeld_Hoehe = 6; const int Spielstein_Groesse = 49; const int AbstandSpielsteine = 7; //Koordinaten der Bitmaps typedef struct punkt { int x; int y; }PUNKT; //hier sind die Koordinaten des ersten Spielsteins angegegben const PUNKT ersterSteinLinksOben = {16,96}; PUNKT Raster[Spielfeld_Breite][Spielfeld_Hoehe]; for(int Zeile=0; Zeile<Spielfeld_Breite; Zeile++) { for(int Spalte=0; Spalte<Spielfeld_Hoehe; Spalte++) { Raster[Zeile][Spalte].x = ersterSteinLinksOben.x + Zeile*Spielstein_Groesse + Zeile* Abstandspielsteine; Raster[Zeile][Spalte].y = ersterSteinLinksOben.y + Spalte*Spielstein_Groesse + Spalte* Abstandspielsteine; } } //Rückgabewerte einer Funktion const int OK = 1; // Funktion ohne Fehler abgelaufen oder z.B. bei der Gewinnfunktion -> Spieler hat 4 in einer Reihe //Fehler const int Parameter_Ungueltig = -1; // Parameter sind nicht inerhalb eines Gültigen Bereiches const int Feld_Voll = -2; //Das Feld ist voll, der Stein konnte nicht plaziert werden #endif
Beim kompilieren mit C++ Builder 6.0 bekomme ich folgende Fehlermeldungen:
[C++ Fehler] consts.h(24): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
[C++ Fehler] consts.h(24): E2141 Fehler in der Deklarationssyntax
[C++ Fehler] consts.h(24): E2238 Bezeichner 'Zeile' mehrfach deklariert
[C++ Fehler] consts.h(24): E2344 'Zeile' bereits deklariert
[C++ Fehler] consts.h(24): E2141 Fehler in der DeklarationssyntaxNa ja, ich finde den Fehler aber einfach nicht. Vielleicht bin ich auch blind, aber ich weiß nicht mehr weiter.
Wäre echt nett, wenn mal jemand schauen könnte...
-
#ifndef consts.h #define consts.h
das hier ist falsch
//entweder #ifndef consts_h //besser groß schreiben #define consts_h //oder #include "consts.h"
und Schleifen dürfen nur innerhalb von Funktionen auftauchen
-
Du kannst doch eine for-schleife nicht einfach in den "freien" Raum stellen.
Schleifen kannst du nur im Rahmen einer Funktion verwenden.
-
Oh Mann, bin ich ein Idiot...
Vor lauter bei der for-Schleife rumsuchen habe ich den Blick fürs Ganze verloren.
Ihr habt natürlich recht und mit ner Funktion drum herum klappts auch! Vielen Dank!!