Heim  >  Artikel  >  Backend-Entwicklung  >  Warum ist __cplusplus in Visual Studio 2012 trotz C 11-Unterstützung als 199711L definiert?

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

Barbara Streisand
Barbara StreisandOriginal
2024-11-04 18:51:02207Durchsuche

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!

Stellungnahme:
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