most-vexing-parse

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.
2
Antworten

Unterschied zwischen dem Parsen von 'void ()' und 'int ()'

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
2
Antworten

Wie ruft diese Deklaration das Most Vexing Parse auf?

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
2
Antworten

Die Konstruktion von temporär im Funktionsaufruf wird als Deklaration interpretiert

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
1
Antwort

am meisten Ärger parse verhindert in-class Initialisierung eines std :: vectorint

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
1
Antwort

Ist das ein VS2008-Fehler? Funktionelle Stilvariable Initialisierung

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
2
Antworten

Was sind die Unterschiede zwischen Test t; und Test t (); wenn Test eine Klasse ist [Duplikat]

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