Hilfe,was will der Compiler?
-
Hey Leute,ich komm nicht weiter mit meinem programm und der compiler spuckt mir folgende Fehlermeldung:
klassen.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Medium::anzeigen(void)" (?anzeigen@Medium@@UAEXXZ) C:\Studium\2.Semester\Programmieren C++\Übungen\Übung 4\projekt22\Debug\projekt22.exe : fatal error LNK1120: 1 unresolved externals Build log was saved at "file://c:\Studium\2.Semester\Programmieren C++\Übungen\Übung 4\projekt22\Debug\BuildLog.htm" projekt22 - 2 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========Nun was will mir diese Meldung sagen?
Bitte helft mir bis morgen muss ich es zum laufen bringen.
gruß
-
Er findet die Methode Medium::anzeigen nicht, entweder weil Du sie vergessen hast zu implementieren, oder weil das passende Objekt fehlt.
-
Die methode Medium::anzeigen ist eine virtuelle funktion!
hier meine header:#include <iostream> #include <iomanip> #include <string> using namespace std; #ifndef _headm_ #define _headm_ const int n=15; const int breite=12; class Medium { protected: // Vererbte klassen dürfen drauf zugreifen! int signatur; string titel; bool bstatus; public: Medium(); virtual void anzeigen(); void entleihen(); void rueckgabe(); void titelleiste(); int getsig(); }; typedef Medium T; void titelleiste(); class Buch:public Medium{ int seitenzahl; public: Buch (); void anzeigen(); }; class Video:public Medium{ double spieldauer; public: Video(); void anzeigen(); }; class plausi_fehler { int sig; int failno; public: plausi_fehler(int _sig,int _failno) { sig=_sig; failno=_failno; } string text() { if (failno==0) return "\nFehler beim Entleihen von Signatur\n "; else return "\nFehler bei der Rückgabe von Signatur\n "; } }; #endif
-
Joggi schrieb:
Die methode Medium::anzeigen ist eine virtuelle funktion!
Solange es keine pur virtuelle Funktion ist (
virtual void anzeigen()=0;), mußt du sie trotzdem angeben, sonst beschwert sich der Linker darüber, daß sie fehlt.
-
Dann war es wohl das gewesen,jetzt erscheinen nämlich andere Fehlermeldungen

Danke für deine Hilfe!Gruß joggi