Fehlermeldung_
-
was könnte diese fehlermeldung bedeuten können:
.objs\main.o:main.cpp:(.text$_ZN5StrDBC1ERKSsS1_S1_S1_[StrDB::StrDB(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0xb4): undefined reference to `ICQ::ICQ(std::string const&)' .objs\main.o:main.cpp:(.text$_ZN5StrDBC1ERKSsS1_S1_S1_[StrDB::StrDB(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x127): undefined reference to `TOWN::TOWN(std::string const&)' .objs\main.o:main.cpp:(.text$_ZN5StrDBC1ERKSsS1_S1_S1_[StrDB::StrDB(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)]+0x19e): undefined reference to `GAME::GAME(std::string const&)'Ich bin froh über jede Antwort: Arbeite ein bisschen mit exceptions und wie man sieht mit Klassen
-
Du vergisst wohl irgendwelche librarys mitzulinken.
Würd ich mal sponten sagen.
-
Glaube ich nicht, da das Programm bei ICQ::ICQ mekkert, die ich nur so deklariert habe:
class ICQ{ public: ICQ(const string& Iicqr); }; class TOWN{ public: TOWN(const string& Ttown); }; class GAME{ public: GAME(const string& Ggame); };Diesen übergebe ich so Werte:
StrDB::StrDB(const string& nick, const string& icq = "", const string& town = "", const string& game = "") try{ if (icq != ""){ icqnumb = new ICQ(icq); } if (town != ""){ spetown = new TOWN(town); } if (game != ""){ gamename = new GAME(game); } }Wiedereinmal froh über jede antwort
-
Oder die .cpp's mit den Implementierungen werden nicht mitkompiliert
-
Es ist alles in einer Datei
-
Obwohl: das mit der Lib könnte in Frage kommen. Welche genau müsste ich includen bzw. linken?
-
Zeig mal die Implementierung der Konstruktoren.
-
das ist so ziemlich mein programm:
#include <iostream> #include <windows.h> #include <conio.h> #include <string.h> #include <vector> ::std::string shomb(15,'#'); class Image{ public: Image(const ::std::string& imageDateFileName); }; class AudioClip{ public: AudioClip(const ::std::string& audioDataFileName); }; class BookEntry{ public: BookEntry(const ::std::string& name, const ::std::string& address = "", const ::std::string& imageFileName = "", const ::std::string& audioClipFileName = "") : theName(name), theAddress(address), theImage(0), theAudioClip(0) { if(imageFileName != ""){ theImage = new Image(imageFileName); } if(audioClipFileName != ""){ theAudioClip = new AudioClip(audioClipFileName); } } ~BookEntry(){ delete theImage; delete theAudioClip; } private: ::std::string theName; ::std::string theAddress; Image *theImage; AudioClip *theAudioClip; }; void testBookEntryClass(){ BookEntry b("x,"y","z","z+1"); } int main(int argc, char **argv[]){ while(true){ hmv(); //<--nur ein menü } return 0; }Ja, man könnte meinen das ist es. Aber mir kommt das alles sehr komisch vor, denn ich bin in dieser richtung der programmierung neu

-
Dann hast Du vermutlich bei allen vom Linker bemängelten Methoden keine Implementierung (will heissen den { funktionsinhalt; } )
-
Autsch!
Wenn du die Konstruktoren nciht implementierst findet er sie natürlich auch nicht.
Fals du glaubst das macht der compiler für dich irrst du,das macht er nur für den default-konstruktor (also der ohne argumente) die anderen findet er nicht, weil du sie nicht implementiert hast.Kleine Frage am Rande: was soll das eigentlich werden wenns fertig ist? Ein ICQ Client mit nem integrierten Spiel?
-
@storm: nein eigentlich nicht. war lediglich zu testzwecken
und wie implementiere ich das nun? bin in sachen OO o.ä. nicht so bewandert(schäm)