Syntax für Typedef auf Template-Function-Pointer
-
Hallo, ich möchte ein Typedef auf eine Funktion, deren Rückgabewert und Argument Template Variablen sind:
typedef template<typename T> T (*calculate_function)(const T&);Allerdings bekomme ich einen Fehler bom kompilieren:
error: expected unqualified-id before "template"Kann man gar keine Pointer zu Template Funktionen erstellen?
-
MemberFuncTor schrieb:
Kann man gar keine Pointer zu Template Funktionen erstellen?
Exakt. Für T wird später ein konkreter Typ eingesetzt, je nach Typ entsteht eine andere Funktion, also ein anderer Zeiger.
Du kannst allerdings sowas machen:
template <typename T> struct calculate_function { typedef T (*type)(const T&); }; int foo(const int&); calculate_function<int>::type ptr_fn = &foo;
-
typedefs auf templates gehen nicht in C++. Hier findest du eine Erklärung der üblichen alternativen Vorgehensweise:
http://www.gotw.ca/gotw/079.htm
edit: Oh, zu spät. Nexus hat schon alles gesagt, während ich den Link gesucht habe.