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).

Antworten auf die Frage(1)

Ihre Antwort auf die Frage