Fehler LNK2001 - Finde den Fehler nicht !
-
Kann mir jemand dabei helfen ?
Ich weis nicht was ich dabei falsch mache ... is nur ein test Programm ohne größeren SinnFehlerbeschreibung:
test_impl.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall CArbeiter::nachricht(void)" (?nachricht@CArbeiter@@UAEXXZ)Debug/projekt1.exe : fatal error LNK1120: 1 unresolved externals
/*****************/
"test_main.cpp":
#include <iostream>
#include <string>
#include "test_info.h"using namespace std;
void main(void)
{
CMitarbeiter *mit1;
mit1 = new CMitarbeiter;
mit1->nachricht();
delete mit1;};
/*****************/
"test_impl.cpp":
#include <iostream>
#include <string>
#include "test_info.h"using namespace std;
void CMitarbeiter::nachricht(void)
{
cout << "Nachricht vom Virtual" << endl;
}CMitarbeiter::CMitarbeiter(void)
{
}CArbeiter::CArbeiter(void)
{
}
/*****************/
"test_info.h":class CMitarbeiter
{public:
CMitarbeiter(void);
virtual void nachricht(void);};
class CArbeiter : public CMitarbeiter
{public:
CArbeiter(void);
void nachricht(void);
};
-
nachricht in Mitarbeiter ist zwar deklariert, aber nicht definiert. zumindest in dem Codeauszug hier
-
void CArbeiter::nachricht(void)is nicht implementiert.
außerdem die beiden Namen sind verwirrend.