Ableitung eines Funktionszeiger-Rückgabetyps
Ich denke, Code wird mein Bedürfnis besser veranschaulichen:
template <typename F>
struct return_type
{
typedef ??? type;
};
damit:
return_type<int(*)()>::type -> int
return_type<void(*)(int,int)>::type -> void
Ich weiß vondecltype
undresult_of
aber sie müssen Argumente übergeben haben. Ich möchte den Rückgabetyp eines Funktionszeigers aus einem einzelnen Vorlagenparameter ableiten. Ich kann den Rückgabetyp nicht als Parameter hinzufügen, da ich genau das hier verbergen möchte ...
Ich weiß, dass es eine Lösung für Boost gibt, aber ich kann sie nicht verwenden, und der Versuch, sie aus dem Boost herauszuholen, führte zu einem spektakulären Fehler (wie so oft).
C ++ 11-Lösungen sind willkommen (sofern in VS2012 unterstützt).