Templates nur in Methoden?
-
Hallo,
ich versuche eine Methode meiner Klasse als Template auszuführen:
.h
template <class T> T asCast (int index);.cpp
template <class T> T MyClass::asCast(int index) { return from_string<T>(Items(index)); }Übersetzen ist kein Problem, doch sobald ich mich erdreiste diese
Funktion auch aufzurufen, meldet der Linker:undefined reference to `double MyClass::asCast<double>(int)'
Bin ich überhaupt auf dem richtigen Weg, oder geht das so gar nicht?
Gruß
NewBee2
-
Du musst die Template Methode in der .h Datei implementieren, und nicht wie bei normalen Methoden in der .cpp Datei.
[Edit (2)] Doch kein Murks
-
D.h. es geht so nicht, oder gar nicht? Ein wenig eindeutiger hätte ich mir die Antwort schon erhofft
-
ARGGGGGG...verdammt....da bin ich schon mal drauf reingefallen!!!
Danke!
-
NewBee2 schrieb:
D.h. es geht so nicht, oder gar nicht? Ein wenig eindeutiger hätte ich mir die Antwort schon erhofft
Die Antwort findest du in der FAQ, der Thread heißt sogar genau "undefined reference to XXYY"