Guten Abend
Ich habe erst vor kurzem angefangen zu programmieren und arbeite im Moment das Buch durch. Nach dem Kapitel mit den Klassen dachte ich, ich schreibe mal ein eigenes kleines Programm um alles zu festen, was ich bis jetzt gelernt habe. Und eigentlich läuft auch alles bestens, bis ich an dem Punkt ankam, wo ich eine Klasse einer Funktion übergeben sollte. Und eigentlich dachte ich, dass dies am besten mit einem Zeiger zu lösen sei, aber irgendwo habe ich einen Fehler, denn ich einfach nicht sehe.
Und zwar besteht mein Programm aus mehreren Quelltexten und Headerdateien, aber ich poste hier nur mal die Teile, die Probleme bereiten, falls es noch mehr braucht, so lasst es mich bitte wissen.
Klassendef.hpp
|
C-/C++-Quelltext
|
1
2
3
4
5
6
|
class CSpieler{
// Membervariablenprivate:
int m_Lebenspunkte; int m_Verteidigung; int m_Angriffsstaerke; char m_Name [25];
// Memberfunktionenpublic:
CSpieler (); void Spielerdaten (); void Levelup (); void Spielerdmgermitteln (int *pSchaden);
};
|
Funktionendef.hpp
|
C-/C++-Quelltext
|
1
|
void Spielen ( CSpieler *pSpieler);
|
main.cpp
|
C-/C++-Quelltext
|
1
2
3
4
|
CSpieler *Spieler1;
int main () {
Spielen (&Spieler1);
return 0 }
|
Das sind die Zeilen, die mir Kopfschmerzen bereiten. Habe hier nur das wichtigste gepostet.
Kann man eine Klasse überhaupt mit dieser Methode an eine Funktion übergeben oder bin ich da total auf dem Holzweg?
Und falls ja, wieso kommt dann bei meinem Programm die Fehlermeldung:
1>-\eigenesprojekt\funktionsdefinition.hpp(6): error C2065: 'CSpieler': nichtdeklarierter Bezeichner
1>-\eigenesprojekt\funktionsdefinition.hpp(6): error C2065: 'pSpieler': nichtdeklarierter Bezeichner
1>-\eigenesprojekt\funktionsdefinition.hpp(6): error C2182: 'Spielen': Unzulässige Verwendung des Typs 'void'
Falls jemand eine Antwort darauf wüsste, wäre ich wirklich extrem dankbar.
Einen schönen Abend