Wenn ich die Dateien einzeln kompiliere erhalte ich 0 Fehler und 0 Warnungen. Kompilier ich aber das gesamte Projekt, erhalte ich 3 Fehler.
1>B.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall A<class CPosition>::A<class CPosition>(void)" (??0?$A@VCPosition@@@@QAE@XZ)" in Funktion ""public: __thiscall CSegmentation::CSegmentation(void)" (??0B@@QAE@XZ)".
1>B.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall A<class CPosition>::~A<class CPosition>(void)" (??1?$A@VCPosition@@@@QAE@XZ)" in Funktion ""public: __thiscall B::~B(void)" (??1B@@QAE@XZ)".
Dann steht noch drunte rals 3. Fehler: 2 nicht aufgelöste externe Verweise
Ich benutze Visual Studio 2005 SP1
Woran liegt das ? Habe ich etwas vergessen ? Wenn ich A nicht als Template schreibe sonder schon fest den Typ vorgebe funktioniert es.Dieser Post wurde am 16.05.2008 um 22:03 Uhr von cmos editiert.
Hallo nochmal, ich habe jetzt die Implentierung bei Klasse A mit in den Header geschrieben. Jetzt kann ich ohne Probleme kompilieren. Woran liegt das ? Was muss man ändern damit die Definitionen in der dazugehörigen cpp stehen dürfen ?
Ok, danke für die Antwort Habe mich nochmal etwas belesen. Es gibt verschieden Möglichkeiten das zu umgehen. Hat aber Teils zum NAchteil das man die Typen schon spezifiziern muss. Aber wie gesagt, es läuft nun.