Heim > Backend-Entwicklung > C++ > Hauptteil

Warum ist __cplusplus in Visual Studio 2012 trotz C 11-Unterstützung als 199711L definiert?

Barbara Streisand
Freigeben: 2024-11-04 18:51:02
Original
262 Leute haben es durchsucht

Why is __cplusplus defined as 199711L in Visual Studio 2012 despite C   11 support?

__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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage