www.mikrocontroller.net

Forum: PC-Programmierung Cpp Programm gibt Fehlermeldungen


Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :)

Autor: Tobi H. (tobi-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und die Fehlermeldungen?

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
does not name a type
invalid preprocessing directive #inlcude

 variable or field `SetName' declared void

 expected `;' before '(' token
 `string' does not name a type

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe vergessen #include <string> einzubinden. Nun ist nur noch eine 
Fehlermeldung da:


invalid preprocessing directive #inlcude

Autor: Tobi H. (tobi-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die wirst du jetzt auch noch selbst hinbekommen. Einfach noch mal genau 
lesen was da steht

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :(

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nochmal genau schauen: hast du
_name
 oder
name_
 geschrieben?

Autor: Timo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe dass Programm mal in den Anhang gepackt. Wäre nett,wenn ihr mir 
helfen könntet und vorallem meinen Fehler erklären

Autor: Tobi H. (tobi-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oben gibt es kein Attribut _name in der Klassendefinition. Einmal ist 
der _ vor dem Namen, mal nachher. Mach das einheitlich, dann klappt es 
auch

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DANKE

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was heißt

10 C:\Dev-Cpp\Serie 7\Player.cpp expected primary-expression before 
"PersonName"

?

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:
 void Player::SetPosition (char SpielerPosition) {
   // tuwas.
 }
den Ganzen Vererbungsbaum musst du also nicht angeben.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.