Heim > Artikel > Backend-Entwicklung > Warum ist __cplusplus in Visual Studio 2012 trotz C 11-Unterstützung als 199711L definiert?
__cplusplus in Visual Studio 2012
In Visual Studio 2012 ist einigen Entwicklern aufgefallen, dass __cplusplus als 199711L definiert ist, was auf die „alte“ C-Standard, obwohl VS 2012 C 11-Unterstützung bietet.
Hintergrund
Das __cplusplus-Makro ist ein Präprozessormakro, das die Version des unterstützten C-Standards bereitstellt Visual Studio. Ein Wert von 199711L entspricht dem C 98-Standard, während 201103L C 11-Unterstützung anzeigen würde.
Problem
In Visual Studio 2012, auch wenn C 11-Header enthalten sind , __cplusplus ist immer noch fälschlicherweise als 199711L definiert. Dies kann für Code problematisch sein, der auf dem __cplusplus-Makro basiert, um zwischen Versionen des C-Standards zu unterscheiden.
Lösung
Das Problem wurde Microsoft zur Überprüfung gemeldet. und erscheint unter dem Titel „Ein Wert des vordefinierten Makros __cplusplus ist immer noch 199711L.“
Das obige ist der detaillierte Inhalt vonWarum ist __cplusplus in Visual Studio 2012 trotz C 11-Unterstützung als 199711L definiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!