Externe Funktionsdefinition bei Templateklassen
-
Hallo
Ich habe:
template<class T> class bar { public: char foo(int a); }; char bar::foo(int a) { return 'a'; };Nun habe ich die Exception E2102: Template 'bar<T>' kann ohne Spezifizierungsparameter nicht verwendet werden
Wie kann ich eine Klasseninterne Funktion definieren bei welcher die Template-Argumente egal sind/vernachlässigbar sind?
-
EOutOfResources schrieb:
Wie kann ich eine Klasseninterne Funktion definieren bei welcher die Template-Argumente egal sind/vernachlässigbar sind?
Indem du sie einfach nicht benutzt. Das template... musst du aber trotzdem davorschreiben.
-
Beim Beispiel klappts Super aber beim echten Projekt habe ich drei Fehler:
E2188(Ausdruckssyntax)
E2401(Ungültige Template-Argumentenliste)
E2040(Deklaration nicht ordnungsgemäß abgeschlossen)
-
EOutOfResources schrieb:
Beim Beispiel klappts Super aber beim echten Projekt habe ich drei Fehler:
E2188(Ausdruckssyntax)
E2401(Ungültige Template-Argumentenliste)
E2040(Deklaration nicht ordnungsgemäß abgeschlossen)Tja. Da wirst du wohl irgendeinen Syntaxfehler haben. Das Grundprinzip funktioniert jedenfalls, egal ob bei Beispielprogrammen oder großen Projekten.
-
template <typename T>char bar<T>::foo (int a) { return 'a'; }