Obwohl std::add_pointer
unär ist, wird der folgende Code sowohl von GCC 7.0.0 (20160608) als auch von Clang 3.9.0 akzeptiert:
Der folgende Code wird zwar von Clang akzeptiert, aber vom GCC abgelehnt:
%Vor% Ist das C ++ gültig? Syntaktisch könnte ich mir vorstellen, dass das Komma ein Problem ist, wenn die Packungen leer sind, aber vermutlich ist es bei anderen Gelegenheiten verschwunden; Beispiel: std::common_type
akzeptiert null oder mehr Argumente, und das Folgende stellt für beide Compiler kein Problem dar:
Sie können diesen Code für eine beliebige Anzahl von Vorlagenargumenten verwenden tc3<1 or more>::a<zero or more>
, für GCC und Clang:
Der folgende Code wird zwar von Clang akzeptiert, wird jedoch abgelehnt von GCC:
Dieser folgende Code wird von Clang nur vor der Instantiierung akzeptiert, aber nachdem ein Fehler aufgetreten ist:
%Vor% std::add_pointer<>
kann nur ein Argument von tampitte annehmen: Ссылка
Mehr als ein Argument kann nur im internen namespace
detail oder in einigen anderen Elementen vorkommen:
Mögliche Implementierung:
%Vor%Dies wird getan, um diesen Code zu unterstützen:
%Vor%