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>:
Ich verstehe den MVP, aber nicht in diesem Fall: argv[1]
ist eindeutig ein Ausdruck, und davor gibt es keinen Typ. Wie also könnte diese Zeile als Funktionsdeklaration analysiert werden?
Stimmt die semantische Interpretation von argv[1]
, die die Zeile als Objektdeklaration disambiguieren würde, erst ab, nachdem der Compiler die Zeile bereits als Funktionsdeklaration analysiert hat? Oder ist es ein Clang Bug? Oder ist es vollkommen normal durch eine Interpretation der Token argv [ 1 ]
, die ich vermisse?
Tags und Links c++ most-vexing-parse