statisches TemplateFunktion in TemplateKlasse aufrufen
-
Hallo zusammen,
folgender Code compiliert nicht
class MyPolicy { public: template <typename T> static void Do() { puts("Hello"); } }; template <class Policy> class Manager { public: template <typename T> static void Do() { Policy::Do<T>(); } }; int main(void) { Manager<MyPolicy>::Do<int>(); return 0; }Fehlermeldungen des g++
expected primary-expression before ) token
expected primary-expression before > token

Ersetze ich in der Manager Klasse Policy durch MyPolicy funktioniert das Ganze...
Kann mir da jemand helfen?
Gruß
tobi
-
template <typename T> static void Do() { Policy::template Do<T>(); }
-
Danke, genau dass wars...
Gruß
Tobi
-
camper schrieb:
template <typename T> static void Do() { Policy::template Do<T>(); }Also ich habe noch nie verstanden, wann da wo noch so ein "template" reingeflickt werden muss ... und warum.
(Auf "typename" komme ich ja inzwischen meistens ...)Gruß,
Simon2.
-
-
Tobias Gerg schrieb:
Vielleicht hilft [url=http://womble.decadentplace.org.uk/c++/template-faq.html#disambiguation]der Link[/cpp] dazu...

Japp !!Danke,
Simon2.