Ableiten eines Funktionszeiger-Rückgabetyps

8

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

    
Kornel Kisielewicz 09.09.2013, 09:47
quelle

1 Antwort

9

Wenn Sie variadische Vorlagen verwenden können (November '12 CTP), sollte dies funktionieren:

%Vor%

Live-Beispiel .

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%     
Angew 09.09.2013 09:55
quelle

Tags und Links