SFINAE: declltype on operator []

8

Basierend auf den Antworten hier und hier Ich versuche es um das folgende zu verwenden

%Vor%

Es schlägt im Visual Studio mit

fehl %Vor%

Irgendwelche Ideen, wie Sie das beheben können?

    
Cookie 21.07.2017, 06:54
quelle

1 Antwort

8

Wenn Sie erkennen möchten, ob ein Typ eine bestimmte Funktion oder einen überladenen Operator hat, müssen Sie diese Funktion oder den Operator aufrufen. Dies ist wichtig, weil Sie möglicherweise mehrere Überladungen einer Funktion oder eines Operators haben und die Überladungsauflösung immer vom Aufrufer abhängt.

Hier ist ein kleines Beispiel, basierend auf CppCon 2014: Walter E. Brown "Moderne Template Metaprogrammierung: A Kompendium, Teil II " zur Erkennung von operator[] in einem Typ.

Ich habe keine Ahnung, warum VC Ihnen so einen seltsamen Fehler gibt, der mehr wie ein Parsing-Fehler aussieht. Ich hätte etwas erwartet wie »Verweis auf überladene Funktion konnte nicht gelöst werden; meinst du es nennen? «.

%Vor%     
Henri Menke 21.07.2017, 07:45
quelle

Tags und Links