Ограничения компилятора
Стандарт языка C++ рекомендует ограничения для различных языковых конструкций. Ниже приведен список случаев, когда компилятор Microsoft C++ не реализует рекомендуемые ограничения. Первое число — это ограничение, установленное в стандарте ISO C++11 (INCITS/ISO/IEC 14882-2011[2012], приложение B), а второй номер — это ограничение, реализованное компилятором Microsoft C++:
Уровни вложения составных операторов, структур управления итерацией и структуры элементов управления выбором — стандарт C++: 256, компилятор Microsoft C++ зависит от сочетания вложенных операторов, но обычно от 100 до 110.
Параметры в одном определении макросов — стандарт C++: 256, компилятор Microsoft C++ с помощью
/Zc:preprocessor-
:127 или с помощью/Zc:preprocessor
:32767.Аргументы в одном вызове макроса — стандарт C++: 256, компилятор Microsoft C++ с помощью
/Zc:preprocessor-
:127 или с помощью/Zc:preprocessor
:32767.Символы в строковом литерале или широкой строковой литерале (после объединения) — стандарт C++: 65536, компилятор Microsoft C++: 65535 однобайтовых символов, включая терминатор NULL, а также 32767 двухбайтовых символов, включая терминатор NULL.
Уровни вложенных классов, структур или определений объединения в одном
struct-declaration-list
стандарте C++: 256, компилятор Microsoft C++: 16.Инициализаторы элементов в определении конструктора — стандарт C++: 6144, компилятор Microsoft C++: по крайней мере 6144.
Квалификация области одного идентификатора — стандарт C++: 256, компилятор Microsoft C++: 127.
Вложенные
extern
спецификации — стандарт C++: 1024, компилятор Microsoft C++: 9 (не подсчитывая неявную спецификацию в глобальных область или 10, если подсчитать неявнуюextern
extern
спецификацию в глобальном область.).Аргументы шаблона в объявлении шаблона — стандарт C++: 1024, компилятор Microsoft C++: 2046.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по