ich wollte (sollte) mir mal ne myVector Klasse mit templates schreiben. Und jetzt bin ich am verzweifeln. Ich erhalte die ganze Zeit die schlimmste aller Fehlermeldungen: Nicht aufgelöstes externes Symbol. Für jede Methode die ich in der myVector Klasse aufrufe eine Fehlermeldung. Ich habe es auch schon mit dem Beispiel hier im Forum probiert. Aber immer noch das gleiche.
Wenn ich aus der template klasse eine normale Klasse mache funktioniert alles herlich. Oder wenn ich den Inhalt aus der header und der cpp einfach über die main schiebe geht auch alles. Doch sobald ich eine template Klasse habe die ich über include einbinde meckert er.
main:
C++:
#include"RingBuffer.h"
int main() { newVector<int> a;
return1; }
header:
C++:
#pragma once
template <class Typ> class newVector { public: newVector(); };
Die unterschiedlichen Namen kommen wegen dem Beispiel was ich ausprobiert hab ;-).
Fehlermeldung: Ringbuffer error LNK2019: Nicht aufgelöstes externes Symbol '"public: __thiscall newVector<int>::newVector<int>(void)" (??0?$newVector@H@@QAE@XZ)', verwiesen in Funktion '_main' -- Microsoft Visual C++.NET Version 7Dieser Post wurde am 09.03.2006 um 19:35 Uhr von Antialc editiert.
Das ist in letzter Zeit schon öfters gefragt worden, such einfach mal danach. Kurz: Du darfst Templates-Deklaration und -Definition nicht über mehrere Dateien verteilen. -- Gruß predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.