Woodz
Lieutenant
- Registriert
- Apr. 2009
- Beiträge
- 696
Hallo.
Ich möchte zu übungszwecken eine kleine Spielsimulation von "Mensch ärgere dich nicht" schreiben.
Doch beim Kompilieren erhalte ich folgende Fehlermendung:
Hier der Code:
Ich versteh aber nicht, warum der Compiler einen "declaration specifier" sucht. Ich übergebe die Adresse bzw. den Pointer des Spiel dessen Datentyp eindeutig in den Deklarationen/Definitionen geklärt ist.
Hat jemand eine Idee, was das Problem ist?
Beste Grüße
Ich möchte zu übungszwecken eine kleine Spielsimulation von "Mensch ärgere dich nicht" schreiben.
Doch beim Kompilieren erhalte ich folgende Fehlermendung:
error: expected declaration specifiers or ‘...’ before ‘&’ token
82 | void frageAnzahlSpieler(&spiel);
Hier der Code:
C:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <stdbool.h>
#define ANZ_SPIELER_MIN 2
#define ANZ_SPIELER_MAX 4
enum Farbe{Rot, Schwarz, Gelb, Gruen};
typedef struct Feld{
bool startposition;
bool startfeld;
bool spielfeld;
bool zielfeld;
bool besetzt;
}Feld;
typedef struct Spieler{
enum Farbe spielerfarbe;
Feld startpositionFelder[4];
}Spieler;
typedef struct Spielbrett{
Feld spielfelder[40];
}Spielbrett;
typedef struct Madn{
// Madn ... (M)ensch (a)ergere (d)ich (n)icht
unsigned char anzSpieler;
Spielbrett spielfeld;
enum Farbe aktiverSpieler;
}Madn;
// =================== Funktionen =====================
void frageAnzahlSpieler(Madn *spiel);
// ===================== Main ========================
int main(){
Madn spiel;
void frageAnzahlSpieler(&spiel);
return 0;
}
void frageAnzahlSpieler(Madn *spiel){
bool check;
do{
printf("Anzahl der Spieler (min. ANZ_SPIELER_MIN | max. ANZ_SPIELER_MAX): ");
check = scanf("%hhu", &(spiel->anzSpieler));
}
while((check == true) && (spiel->anzSpieler >= ANZ_SPIELER_MIN && spiel->anzSpieler <= ANZ_SPIELER_MAX));
}
Ich versteh aber nicht, warum der Compiler einen "declaration specifier" sucht. Ich übergebe die Adresse bzw. den Pointer des Spiel dessen Datentyp eindeutig in den Deklarationen/Definitionen geklärt ist.
Hat jemand eine Idee, was das Problem ist?
Beste Grüße