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"


Anmelden zum Antworten