2 Dimensionales Array an Funktion übergeben funktioniert nicht.
-
Hallo, ohne viel Tamtam hier der Relevante Code aus der Header-Datei:
class Pawn { public: Pawn(); int move(int x, int y, int map[8][8]); };Und der Code aus der Cpp-Datei:
Pawn::move(int x, int y, int map[8][8]) // Array an die Funktion übergeben { /*(...)*/ }Leider bekomme ich die Fehlermeldung:
error: ISO C++ forbids declaration of 'move' with no type [-fpermissive]
Diese verweist allerdings direkt hinter das Array.
Leider komme ich nicht weiter, da ich den Fehler nicht erkenne.
Über Hilfe würde ich mich sehr freuen.Mit freundlichen Grüßen
Supercomputer
-
Supercomputer schrieb:
error: ISO C++ forbids declaration of 'move' with no type [-fpermissive]
Wo ist dein Return-Type?
-
Allgemeine Bemerkungen:
-Dir ist schon klar, dass die erste 8 rein gar nichts tut und auch weg gelassen werden könnte?
-Das Design der Klassen gefällt mir nicht. Der Bauer prüft, ob die Regeln eingehalten werden? Der Bauer ist nur ein Stück Holz. Die Regeln für Schach existieren abseits der konkreten Spielfiguren. Wenn du das so implementieren würdest, hätte das mindestens zwei Vorteile: 1. Das komische Rumgeschiebe des ganzen Schachfeldes würde entfallen. 2. Prinzipiell kannst du dann ganz einfach alle möglichen Spiele auf schachartigen Brettern (Dame!) schreiben und müsstest dafür dein Programm nur an einer Stelle entscheidend ändern.
-
tkausl schrieb:
Supercomputer schrieb:
error: ISO C++ forbids declaration of 'move' with no type [-fpermissive]
Wo ist dein Return-Type?
Was meinst du mit Return-Type?
Danke SeppJ daran habe ich noch nicht gedacht.

-
Supercomputer schrieb:
tkausl schrieb:
Supercomputer schrieb:
error: ISO C++ forbids declaration of 'move' with no type [-fpermissive]
Wo ist dein Return-Type?
Was meinst du mit Return-Type?
Na welchen Typ gibt deine Funktion laut Deklaration zurück und welchen laut Definition?
-
class Pawn { public: Pawn(); int move(int x, int y, int map[8][8]);//int int int int int };/*int*/ Pawn::move(int x, int y, int map[8][8])//fehlt fehlt fehlt fehlt fehlt { /*(...)*/ }