So wie bei der Definition auch:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| class Variables { template <class T> T getVar(char *varname);
// besser ist hier übrigens "const char *" und die Methode als const zu deklarieren, also template <class T> T getVar(const char *varname) const; } |
Beachte nur, daß du die Template-Funktionsdefinition auch im Header schreiben mußt, falls du diese Klasse im Header (z.B. "Variables.h") deklariert hast.
Der übliche Weg dazu ist, eine eigene "Variables.inl" o.ä. einzubinden:
Quelltext
1: 2:
| // unten im Header #include "Variables.inl" |
Dort definierst du dann die Templatefunktion aus deinem Beitrag.
Ganz sauber ist deine Funktion jedoch nicht (wegen dem reinterpret_cast), da kann ja dann jeder Müll rauskommen.
Besser wäre es, du spezialisierst die Funktion für konkrete Datentypen (int, std::string, float, ...).