LNKerror in VS: Klassenimplementierung spinnt !

Enumerator

Mitglied Kamel
Moin!
Hab' mal wieder ein seltsames Problem:

Ich bekomme vom Linker Fehlermeldungen über unaufgelöste externe Symbole.
So weit, so gut. Aber: die "Symbole" (hier: Klassen-Methoden/Funktionen) sind aufgelöst
Hier ein Beispiel...

Header-Datei
Code:
//...

namespace Beispiel
{
     class Klasse
     {
          public:
          Klasse(void);
          ~Klasse(void);
     };
}

CPP Datei
Code:
//...

#include "beispiel.h"

inline Beispiel::Klasse::Klasse(void)
{
     //...
}

inline Beispiel::Klasse::~Klasse(void)
{
     //...
}

andere CPP Datei
Code:
//...

#include "beispiel.h"

//...

Beispiel::Klasse Test;

Jetzt spuckt der Linker Feuer ...
Also: Ich habe alle Files im Projekt eingebunden, erhalte KEINE Fehlermeldung wenn ich die Implementierung schon in der Header vornehme und die CPP weglasse, und vor allem:

Ich bekomme KEINE Fehlermeldung wenn ich in der Header ein (statisches) Objekt der Klasse deklariere. In diesem Falle bekomme ich auch später, z.B. in WinMain, keine Fehler bei der Deklaration eines neuen Objektes dieser Klasse...

Bin ich mal wieder zu doof? Oder um es mit den Worten der Beatles zu sagen ...
HELP! I NEED SOMEBODY HELP!

Thx & mfg
Enum
 
Hallo,

das liegt an deiner inline Implementierung des Konstruktors wie auch des Destruktors im CPP. Bei Konstruktoren bzw. Destruktoren kenne ich die inline Implementierung nur direkt im Header.
Alle weiteren Methoden kannst du ohne Probleme im CPP inline implementieren.

Wenn du dies änderst dürfte auch dein Prog kein Fehler mehr schmeissen.

Grüße
R.
 
Zurück