Fehler beim linken, singleton.



  • Hallo,

    Hier ist der Header der Singleton Klasse:

    class CSiConfig
    {
    public:
    
      static CSiConfig *Instance();
      ~CSiConfig(void);
    
      void ReadAll(void);
      void ReadMotorSection(void);
      void getMotorMap ( CSiMotorMap *MotorMap );
    
    protected:
      //Konstruktor
      CSiConfig     ();
    
      CString        m_sFileName;
      CSiMotorMap    m_MotorSection;
    
    private:
    
      static CSiConfig* m_pInstance;
    };
    

    Und hier die cpp:

    CSiConfig::CSiConfig()  : m_MotorSection(_T("siconfig.ini")) 
    {
      m_sFileName     = _T("siconfig.ini");
      ReadAll();
    }
    
    CSiConfig* CSiConfig::Instance()
    {
      if (m_pInstance == NULL)
      {
        m_pInstance = new CSiConfig();
      }
      return m_pInstance;
    }
    
    CSiConfig::~CSiConfig(void)
    {
      delete m_pInstance;
    }
    

    Die Fehlermeldung die ich bekomme heisst:

    e8siconfig.obj : error LNK2001: unresolved external symbol "private: static class CSiConfig * CSiConfig::m_pInstance" (?m_pInstance@CSiConfig@@0PAV1@A)
    Debug/e8simnxx.dll : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    Kann mir jemand helfen, habe ich irgendwo nen Flüchtigkeitsfehler drin?

    So langsam sehe ich den Wald vor lauter Bäumen nicht mehr.



  • Oben in die cpp:

    CSiConfig* CSiConfig::m_pInstance = 0;
    


  • wusste ich's doch.. ärgerlich, so ein Fehler.

    Danke Mastah 😉


Anmelden zum Antworten