Hallo, Meine .hh Datei: #include <cstdlib> using namespace std; class Person { public: void SetName(string PersonName); string GetName(); void SetAge(unsigned int PersonAlter); unsigned int GetAge(); void SetCountry(string PersonLand); string GetCountry(); private: string name_; unsigned int age_; string country_; }; Meine .cpp Datei: #include "Person.hh" #include <cstdlib> using namespace std; void Person::SetName (string PersonName) { _name = PersonName; } string Person::GetName () { return _name; } void Person::SetAge (unsigned int PersonAlter) { _age = PersonAlter; } unsigned int Person::GetAge () { return _age; } void Person::SetCountry (string PersonLand) { _country = PersonLand; } string Person::GetCountry () { return _country; } Die Main Datei ist geschrieben aber noch nicht mit Inhalt gefüllt. Bekomme hier schon jede Menge Fehlermeldungen. Was mache ich falsch, danke :)
does not name a type invalid preprocessing directive #inlcude variable or field `SetName' declared void expected `;' before '(' token `string' does not name a type
Habe vergessen #include <string> einzubinden. Nun ist nur noch eine Fehlermeldung da: invalid preprocessing directive #inlcude
Die wirst du jetzt auch noch selbst hinbekommen. Einfach noch mal genau lesen was da steht
Misst, dass war ein Rechtschreibfehler... nun sind wieder andere Fehler aufgetaucht ..ich verzweifle Z.B `_name' undeclared (first use this function) Habe es doch in die Klasse geschrieben :(
Ich habe dass Programm mal in den Anhang gepackt. Wäre nett,wenn ihr mir helfen könntet und vorallem meinen Fehler erklären
Oben gibt es kein Attribut _name in der Klassendefinition. Einmal ist der _ vor dem Namen, mal nachher. Mach das einheitlich, dann klappt es auch
Nun habe ich eine abgeleitete Klasse: class Player : Person // Abgeleitete Klasse: Player { private: void SetPosition(char SpielerPosition); ... Ich möchtet nun im Cpp File die Funktion SetPosition (char SpielerPosition) definieren. - Dazu binde ich in das File Player.ccp den Header Player.hh ein. - Nun schreibe ich ..... Person :: Player :: SetPosition (char SpielerPosition) { ... } Ist dass richtig?
Was heißt 10 C:\Dev-Cpp\Serie 7\Player.cpp expected primary-expression before "PersonName" ?
Sag mal, willst du dir nicht erstmal ein Anfänger-Tutorial zu C++ durchlesen? Muss ja nicht gleich der Kerningham/Ritchie sein. Mit neu nachfragen nach jeder geänderten Zeile und bei jedem Compilerfehler wird das für uns alle recht mühsam. Zur Frage oben: im Player.cpp:
1 | void Player::SetPosition (char SpielerPosition) { |
2 | // tuwas.
|
3 | }
|
den Ganzen Vererbungsbaum musst du also nicht angeben.
> Muss ja nicht gleich der Kerningham/Ritchie sein. Der Mann heißt Kernighan und hat mit C++ nicht viel am Hut. Da würde eher der Stoustrup passen. > Mit neu nachfragen nach jeder geänderten Zeile und bei jedem > Compilerfehler wird das für uns alle recht mühsam. Insbesondere, wenn man dann nur halbe Fehlermeldungen sieht, und die auch noch ohne dazugehörigen Code.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.