«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему __cplusplus определяется как 199711L в Visual Studio 2012, несмотря на поддержку C++ 11?

Почему __cplusplus определяется как 199711L в Visual Studio 2012, несмотря на поддержку C++ 11?

Опубликовано 18 января 2025 г.
Просматривать:306

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

__cplusplus в Visual Studio 2012

В Visual Studio 2012 некоторые разработчики заметили, что __cplusplus определяется как 199711L, что указывает на «старый» Стандарт C, несмотря на то, что VS 2012 включает C 11 support.

Background

Макрос __cplusplus — это макрос препроцессора, который предоставляет версию поддерживаемого стандарта C в Visual Studio. Значение 199711L соответствует стандарту C 98, а 201103L указывает на поддержку C 11.

Проблема

В Visual Studio 2012, даже если включены заголовки C 11 , __cplusplus по-прежнему неверно определяется как 199711L. Это может быть проблематично для кода, который использует макрос __cplusplus для различения версий стандарта C.

Решение

О проблеме отправлено на рассмотрение в Microsoft, и появляется под заголовком «Значение предопределенного макроса __cplusplus по-прежнему равно 199711L».

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3