template-Methode Spezialisierung mit template Klasse
-
Ich würde gerne eine template-Funktion spezialieren mit einer template-Klasse. Leider klappt das nicht, und ich würde gerne verstehen, warum das nicht geht:
template<typename T> class A { T val; }; template<typename T> T func(T input) { //+//do something return input; }; template<> template<typename T> A<T> func(A<T> input) { //do something different return input; };error C2910: 'func' : cannot be explicitly specialized
Würde mich freuen, wenn mir jemand weiterhelfen könnte.
-
Funktionen kann man nicht partiell spezialisieren. Was Du eigentlich willst, ist, dein eines Funktionstemplate mit einem etwas spezielleren zu überladen. Dazu löschst Du einfach das "template<>" und bist fertig.
-
stimmt, das will ich. Wenn man die Lösung hat, ist es ganz logisch.
Vielen Dank.