Der Begriff "most vexing parse" (geprägt von Scott Meyers in "Effective STL") bezieht sich auf eine bestimmte syntaktische Ambiguität in C ++ - Programmen, die zu einer kontraintuitiven Interpretation bestimmter Deklarationen führt. Es wird oft von einer schlechten Diagnose begleitet, die viele Programmierer verwirrt, die darauf stoßen.
Nachdem ich über das ärgerlichste Parse gelesen hatte, experimentierte ich ein wenig und fand dieses Programm. Es gibt zwei sehr ähnliche Linien. Einer von ihnen liefert Warnungen sowohl in g ++ 7 als auch in clang ++ - 3.9, ein anderer nicht....
21.02.2018, 18:28
Betrachten Sie das folgende Programm:
%Vor%
Clang im C ++ 1y-Modus geht davon aus, dass der MVP so aufgerufen wird, dass a als Funktionsdeklaration analysiert wird / a>:
%Vor%
Ich verstehe den MVP, aber nicht in diesem Fall: argv[1]...
07.02.2014, 10:12
In letzter Zeit bin ich auf ein Problem gestoßen, das irgendwie (aber nur irgendwie) für mich Sinn macht. Es basiert auf der Interpretation der Konstruktion eines temporären als Deklaration des einzelnen (!) Konstruktorarguments. Bitte schauen S...
19.01.2015, 22:40
C ++ 11 ermöglicht die Initialisierung in der Klasse:
%Vor%
Wenn wir in der Klasse einen Vektor von ints initialisieren wollten, würden wir etwas anderes bekommen:
%Vor%
Dieses Problem scheint eine Einschränkung der Sprache zu sein, w...
10.02.2018, 16:33
Im folgenden Code die Zeile
%Vor%
führt zu einem C2061 Fehler in Visual Studio 2008 :
Syntaxfehler: Bezeichner 'Bezeichner' -
Der Compiler hat einen Bezeichner gefunden, an dem er nicht erwartet wurde.
Stellen Sie sicher, dass de...
09.05.2013, 14:06
Ich verwende Visual Studio 2012, Angenommen, Test ist eine Klasse
%Vor%
Wenn ich eine neue Instanz von Test erstelle, was ist der Unterschied zwischen den beiden folgenden Möglichkeiten?
Weg 1
%Vor%
Weg 2
%Vor%
Ich habe diese...
02.10.2012, 07:43