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 Sinn

    Fehlerbeschreibung:
    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.


Anmelden zum Antworten