(C++) template Klasen
-
Problem:
bekomme in Visual C keine Template Klasse hin. Wird zwar alles ordentlich compiliert aber ich kann in die cpp-Datei totalen blödsinn schreiben und wenn ich ne Instanz erzeugen will, habe ich die Fehlermeldun unaufgeloester externer Verweis für "CListe<CTest>::CListe<CTest>(void)" ... bla bla//Liste.h
//... if !defined uswtemplate <class T>
class CListe
{
CListe();
virtual ~CListe();
};//Liste.cpp
template <class T>
CListe<T>::CListe()
{
}template <class T>
CListe<T>::~CListe()
{
}// main.cpp
#include "Liste.h"
#include "Test.h" // andere Klasseint main()
{
CListe<CMenu> test;
return 0;
}
-
Bei templates gibts 2 Wege:
export (wird vom VC nicht unterstützt )
oder include.
Der Compiler muss wissen mit welchem Typ das Template verwendet werden soll.
Um dies zu erreichen musst Du den Inhalt von cpp per include behandeln.Du könntest z.B. .cpp zu .tpl machen und im Projekt wo Du
#include "mytemplate.h" stehen hast #include "mytemplate.tpl" schreiben.