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
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 );
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.
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 );
Klotzkopp Geschrieben 15. Juli 2009 Geschrieben 15. Juli 2009 char const * und const char * ist dasselbe. Etwas anderes wäre char * const.
MightyDucks Geschrieben 15. Juli 2009 Autor Geschrieben 15. Juli 2009 Vielen Vielen Dank für die schnellen Antworten :) Ich werds gleich mal ausprobieren
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden