Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Стандарт языка 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 (не подсчитывая неявную спецификациюextern
в глобальной области или 10, если подсчитать неявную спецификациюextern
в глобальной области.Аргументы шаблона в объявлении шаблона — стандарт C++: 1024, компилятор Microsoft C++: 2046.