Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
struct feld { }; feld spielfeld[][]; // Das provoziert den Fehler, g++ meckert feld neu (feld spielfeld); int main () { return 0; } |
Zitat
feld.cpp:2: error: declaration of `spielfeld' as multidimensional array must have bounds for all dimensions except the first
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// Funktionsprototyp. feld neu(feld spielfeld); int main(){ // Strukturen. struct feld { bool zustand; char name[10]; }; // Variablen. const short breite = 5; const short laenge = 5; feld spielfeld[breite][laenge]; return 0; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
// Strukturen. struct feld { bool zustand; char name[10]; }; // Funktionsprototyp. feld neu(feld *spielfeld) { feld f1; strcpy(f1.name, "name"); f1.zustand = false; return f1; } int main() { feld temp; // Variablen. const short breite = 5; const short laenge = 5; feld spielfeld[breite][laenge]; // ?? temp = neu(*spielfeld); return 0; } |
Alter Hase
Zitat von »"J.M.K."«
Mit Zeigern kann man das Probelm lösen, ja aber in Java (das ich bald lernen muss), gibt es nun mal keine Zeiger.
Anonymous
unregistriert
Zitat von »"J.M.K."«
Ah jetzt funktionierts. Danke an alle. Aber ich dachte immer, dass alles globale böse ist.
Zitat von »"DarkRaider"«
Zitat von »"J.M.K."«
Ah jetzt funktionierts. Danke an alle. Aber ich dachte immer, dass alles globale böse ist.
Jo ist klar und Funktionen sind auch verboten, da sie global sind
Ne es sind natürlich nur globale Variablen verboten :p
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
class Spielfeld; class Feld; class Feld { public: Feld (); void initialisiere (Spielfeld* spielfeld, int x, int y); private: Spielfeld* _spielfeld; int _x; int _y; }; class Spielfeld { public: Spielfeld (int breite, int hoehe) { int feldanzahl = breite * hoehe; _felder = new Feld [feldanzahl]; for (int y = 0; y < hoehe; ++y) { for (int x = 0; x < breite; ++x) { _felder[x + (y * breite)].initialisiere (this, x, y); } } } Feld* gibFeld (int x, int y) { return &(_felder[x + (y * _breite)]); } private: int _breite; int _hoehe; Feld* _felder; }; |
Anonymous
unregistriert
Werbeanzeige