MightyDucks Geschrieben 15. Juli 2009 Geschrieben 15. Juli 2009 Hallo zusammen, ich fange grad mit der OOP in C++ an und bekomme gleich die ersten Fehlermeldungen :( Mein QuellCode: ************************************************ #include <iostream> using namespace std; class Mensch { public: enum GEschlecht { MANN, FRAU }; private: char name[30]; unsigned int alter; bool geschlecht; void test_geschlecht( void ); public: void sehen( const char* objekt ); void hoeren( const char* gerausch ); void riechen( const char* geruch ); void schmecken( const char* geschmack ); void tasten( const char* objekt ); void erzeuge( const char* n= "Unbenannt", unsigned int a = 0, bool g = FRAU ); void print( void ); }; int main (void){ Mensch mann, frau, person, dummy; Mensch* Menschptr; mann.erzeuge( "Adam", 18, Mensch::MANN); frau.erzeuge( "Eva" , 18, Mensch::FRAU); } *********** ENDE ********************************* FEHLERMELDUNG: undefined reference to Mensch::erzeuge(char const*, usigned int, bool) Ich hoffe mir kann jemand weiter helfen Zitieren
carstenj Geschrieben 15. Juli 2009 Geschrieben 15. Juli 2009 Hi, die Signatur deiner Funktion ist nicht richtig. Nimm das const mal raus: void erzeuge( [B]const [/B]char* n= "Unbenannt", unsigned int a = 0, bool g = FRAU ); Zitieren
Klotzkopp Geschrieben 15. Juli 2009 Geschrieben 15. Juli 2009 FEHLERMELDUNG: undefined reference to Mensch::erzeuge(char const*, usigned int, bool) Das bedeutet einfach, dass du diese Methode nicht definiert hast. Vermutlich hast du bei der Definition einfach das Mensch:: vergessen. Du solltest dich übrigens entscheiden, ob du bool oder den enum Mensch::GEschlecht benutzt. Dieser Mischmasch ist nicht so toll. Zitieren
carstenj Geschrieben 15. Juli 2009 Geschrieben 15. Juli 2009 Hi, ist das const aber nicht auch an der falschen Stelle? Es müsste doch eher heissen: void erzeuge(char [B]const [/B]* n= "Unbenannt", unsigned int a = 0, bool g = FRAU ); void print( void ); Zitieren
Klotzkopp Geschrieben 15. Juli 2009 Geschrieben 15. Juli 2009 char const * und const char * ist dasselbe. Etwas anderes wäre char * const. Zitieren
MightyDucks Geschrieben 15. Juli 2009 Autor Geschrieben 15. Juli 2009 Vielen Vielen Dank für die schnellen Antworten :) Ich werds gleich mal ausprobieren Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.