Ich denke Code wird mein Bedürfnis besser illustrieren:
%Vor%so dass:
%Vor% Ich weiß von decltype
und result_of
, aber sie müssen Argumente übergeben haben. Ich möchte den Rückgabetyp eines Funktionszeigers von einem einzelnen Vorlagenparameter ableiten. Ich kann den Rückgabetyp nicht als Parameter hinzufügen, weil ich genau das hier verstecken möchte ...
Ich weiß, dass es eine Lösung gibt, aber ich kann sie nicht benutzen, und ein Versuch, sie aus dem Boost herauszuholen, führte (wie so oft) zu einem spektakulären Fehler.
C ++ 11 Lösungen willkommen (solange in VS2012 unterstützt).
Wenn Sie variadische Vorlagen verwenden können (November '12 CTP), sollte dies funktionieren:
%Vor%Wenn Sie variadische Templates nicht verwenden können, müssen Sie spezielle Spezialisierungen für 0, 1, 2, ... Parameter (von Hand oder vom Präprozessor erzeugt) angeben.
BEARBEITEN
Wie in den Kommentaren erwähnt, müssen Sie, wenn Sie auch mit variablen Funktionen arbeiten möchten, eine zusätzliche Teilspezialisierung hinzufügen (oder eine für jede Parameteranzahl im Fall no-variadic-templates):
%Vor%Tags und Links c++ c++11 function-pointers