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%Tags und Links c++ visual-studio sfinae