Templates wie in std::function?
-
Hallo,
ich frage mich jetzt schon seit einiger Zeit wie man eine template Klasse/Funktion so machen kann wie std::function? Also dass man die Argumente per templates in Klammmern angibt und dann noch eine beliebige Anzahl davon?
Mit std::function kann ich ja zum Beispiel sowas machen:
std::function<double(int, std::string, bool /* etc, etc */)> my_foo;
Wie ist die Syntax wenn man sowas selbst machen will? Finde da online irgendwie keine Beispiele, die behandeln alle nur "normale" templates...
Viele Grüße,
hs
-
Siehe hier. Das Template-Argument ist lediglich ein Funktionstyp.
-
Ja, aber wenn ich sowas schreiben will wie dort angegeben, bekommen ich einen Compiler-Fehler:
template< class R, class... Args > class my_function<R(Args...)> { };
-> Syntaxfehler: Es fehlt ';' vor '<'
Dabei hab ich das einfach nur kopiert?
-
Das ist eine Templatespezialisierung... Schau nochmals genau die Seite an.