c++, verberung, warum krieg ich hier einen linker Fehler?

Sieben

Vice Admiral Special
Mitglied seit
02.06.2002
Beiträge
656
Renomée
1
Standort
Deutschland -> Thüringen
Code:
class CBaseClass
{
public :

   CBaseClass ()
   {
      GetStr ();
   }

   virtual CString GetStr ();
};

class CSubClass : public CBaseClass
{
public :

   CString GetStr ()
   {
      return "";
   }
};

SrvFileExport error LNK2019: Nicht aufgelöstes externes Symbol '"public: virtual class ATL::CStringT<char,class ATL::StrTraitATL<char,class ATL::ChTraitsCRT<char> > > __thiscall CBaseClass::GetStr(void)" (?GetStr@CBaseClass@@UAE?AV?$CStringT@DV?$StrTraitATL@DV?$ChTraitsCRT@D@ATL@@@ATL@@@ATL@@XZ)', verwiesen in Funktion '"public: __thiscall CBaseClass::CBaseClass(void)" (??0CBaseClass@@QAE@XZ)'
 
Weil du die Funktion in der Basisklasse nicht implementierst. Entweder du fertigst noch ne Basisimplementation an, oder du definierst die Funktion als rein virtuell, also so:
Code:
virtual CString GetStr () [b]=0[/b];
 
Zurück
Oben Unten