Поделиться через


Ошибки компилятора с C2100 по C2199

В статьях в этом разделе документации объясняется подмножество сообщений об ошибках, создаваемых компилятором.

Внимание

Компиляторы и средства сборки Visual Studio могут сообщать о многих типах ошибок и предупреждений. После обнаружения ошибки или предупреждения средства сборки могут делать предположения о намерении кода и пытаться продолжить работу, чтобы в одно и то же время сообщалось больше проблем. Если средства делают неверное предположение, последующие ошибки или предупреждения не могут применяться к проекту. При устранении проблем в проекте всегда начинайте с первой зарегистрированной ошибки (или предупреждения) и выполняйте повторную сборку как можно чаще. Одно исправление может привести к возникновению многих последующих ошибок.

Чтобы получить справку по определенному диагностическом сообщению в Visual Studio, выберите его в окне вывода и нажмите клавишу F1 . Visual Studio открывает страницу документации для этой ошибки, если она существует. Вы также можете использовать средство поиска в верхней части страницы, чтобы найти статьи об определенных ошибках или предупреждениях. Или просмотрите список ошибок и предупреждений по инструменту и введите оглавление на этой странице.

Примечание.

Не все ошибки или предупреждения Visual Studio документируются. Во многих случаях диагностическое сообщение предоставляет все доступные сведения. Если вы приземлились на этой странице при использовании F1 , и вы думаете, что сообщение об ошибке или предупреждении требует дополнительного объяснения, сообщите нам об этом. Вы можете использовать кнопки обратной связи на этой странице, чтобы вызвать проблему документации на GitHub. Если вы считаете, что ошибка или предупреждение неправильно, или вы нашли другую проблему с набором инструментов, сообщите о проблеме продукта на сайте Сообщество разработчиков. Вы также можете отправлять отзывы и вводить ошибки в интегрированной среде разработки. В Visual Studio перейдите в строку меню и выберите "Отправить отзыв о > проблеме" или отправьте предложение с помощью справки > по отправке > отзывов > отправить предложение. Некоторые разделы об ошибках компилятора были созданы, которые не создаются компилятором и теперь перенаправляются на эту страницу.

Вы можете найти дополнительную помощь по ошибкам и предупреждениям на форумах Microsoft Learn Q&A . Или найдите номер ошибки или предупреждения на сайте Сообщество разработчиков Visual Studio C++. Вы также можете искать решения в стеке Overflow .

Ссылки на дополнительные справочные материалы и ресурсы сообщества см. в разделе справки и сообщества Visual C++.

Сообщения об ошибках

Ошибка Сообщение
Ошибка компилятора C2100 незаконное непрямление
Ошибка компилятора C2101 "&" в константе
Ошибка компилятора C2102 для "&" требуется левостороннее значение
Ошибка компилятора C2103 "&" для регистровой переменной
Ошибка компилятора C2104 '&' в битовом поле игнорируется
Ошибка компилятора C2105 Оператору требуется l-value
Ошибка компилятора C2106 Оператор: левый операнд должен быть l-value
Ошибка компилятора C2107 незаконный индекс, косвенное не разрешено
Ошибка компилятора C2108 подстрок не имеет целочисленного типа
Ошибка компилятора C2109 Для подстрочного индекса требуется тип массива или указателя
Ошибка компилятора C2110 '+': не удается добавить два указателя
Ошибка компилятора C2111 '+': добавление указателя требует целочисленного операнда
Ошибка компилятора C2112 '-': вычитание указателя требует целочисленного или указателя операнда
Ошибка компилятора C2113 '-': указатель можно вычитать только из другого указателя
Ошибка компилятора C2114 Оператор: указатель слева; требуется целочисленное значение справа
Ошибка компилятора C2115 Оператор: несовместимые типы
Ошибка компилятора C2116 списки параметров функции различаются
Ошибка компилятора C2117 "идентификатор": массив ограничивает переполнение
Ошибка компилятора C2118 отрицательный подстрок
Ошибка компилятора C2119 "идентификатор": тип для типа не может быть выведен из пустого инициализатора
Ошибка компилятора C2120 "void" незаконно со всеми типами
Ошибка компилятора C2121 '#': недопустимый символ: возможно, результат расширения макроса
Ошибка компилятора C2122 "идентификатор": параметр прототипа в списке имен недопустимый
Ошибка компилятора C2123 "идентификатор": шаблоны псевдонимов не могут быть явно или частично специализированы
Ошибка компилятора C2124 деление на ноль или остаток от деления на ноль
Ошибка компилятора C2125 "constexpr" несовместим с "token"
Ошибка компилятора C2126 "идентификатор" нельзя объявить с описателем constexpr
Ошибка компилятора C2127 "идентификатор": незаконное инициализация сущности constexpr с неконстантным выражением
Ошибка компилятора C2128 "function": alloc_text/same_seg применимо только к функциям с компоновкой C
Ошибка компилятора C2129 статическую функцию "идентификатор", объявленную, но не определена
Ошибка компилятора C2130 #line ожидается строка, содержащая имя файла, найденное "token"
Ошибка компилятора C2131 выражение не вычислялось константой
Ошибка компилятора C2132 синтаксическая ошибка: непредвиденный идентификатор
Ошибка компилятора C2133 "идентификатор": неизвестный размер
Ошибка компилятора C2134 "function": вызов не приводит к константным выражениям
Ошибка компилятора C2135 Оператор: недопустимая операция битового поля
Ошибка компилятора C2136 Контракт API разработки не разрешен
Ошибка компилятора C2137 пустая символьная константа
Ошибка компилятора C2138 недопустимое определение перечисления без каких-либо элементов
Ошибка компилятора C2139 "class": неопределенный класс не допускается в качестве аргумента для встроенного типа компилятора признака "признака"
Ошибка компилятора C2140 "type": тип, зависящий от параметра универсального типа, не допускается в качестве аргумента для встроенного признака типа компилятора "признак"
Ошибка компилятора C2141 Переполнение размера массива
Ошибка компилятора C2142 Объявления функций отличаются, переменные параметры, указанные только в одном из них
Ошибка компилятора C2143 синтаксическая ошибка: отсутствует "token1" до "token2"
Ошибка компилятора C2144 синтаксическая ошибка: "тип" должен предшествовать "token2"
Ошибка компилятора C2145 синтаксическая ошибка: отсутствует "token" перед идентификатором
Ошибка компилятора C2146 ошибка синтаксиса: отсутствует "token" перед идентификатором "идентификатор"
Ошибка компилятора C2147 синтаксическая ошибка: "token" — это новое ключевое слово
Ошибка компилятора C2148 Общий размер массива не должен превышать 0xбайт значений
Ошибка компилятора C2149 "идентификатор": именованное битовое поле не может иметь нулевой ширины
Ошибка компилятора C2150 "идентификатор": битовое поле должно иметь тип int, "подписанный int" или "unsigned int"
Ошибка компилятора C2151 несколько атрибутов языка
Ошибка компилятора C2152 "идентификатор": указатели на функции с различными атрибутами
Ошибка компилятора C2153 Целые литералы должны иметь по крайней мере одну цифру
Ошибка компилятора C2154 "type": разрешен только тип перечисления в качестве аргумента для признака встроенного типа компилятора "признак"
Ошибка компилятора C2155 '?': недопустимый левый операнд, ожидаемый арифметический или указатель
Ошибка компилятора C2156 директива pragma должна находиться вне функции
Ошибка компилятора C2157 "идентификатор": необходимо объявить перед использованием в списке pragma
Ошибка компилятора C2158 "type": директива #pragma make_public в настоящее время поддерживается только для собственных типов, отличных от шаблонов
Ошибка компилятора C2159 указано несколько классов хранения
Ошибка компилятора C2160 "##" не может встречаться в начале макроопределения
Ошибка компилятора C2161 "##" не может встречаться в конце макроопределения
Ошибка компилятора C2162 ожидаемый формальный параметр макроса
Ошибка компилятора C2163 "function": недоступно в качестве встроенной функции
Ошибка компилятора C2164 "function": встроенная функция не объявлена
Ошибка компилятора C2165 Модификатор: не удается изменить указатели на данные
Ошибка компилятора C2166 левостороннее значение указывает на объект-константу (const)
Ошибка компилятора C2167 "function": слишком много фактических параметров для встроенной функции
Ошибка компилятора C2168 Function: слишком мало фактических параметров для встроенной функции
Ошибка компилятора C2169 "function": встроенная функция, не может быть определена
Ошибка компилятора C2170 "идентификатор": не объявлен как функция, не может быть встроенным
Ошибка компилятора C2171 Оператор: незаконный для операндов типа "type"
Ошибка компилятора C2172 "function": фактический параметр не является указателем: номер параметра
Ошибка компилятора C2173 "function": фактический параметр не является указателем: номер параметра, номер списка параметров
Ошибка компилятора C2174 "function": фактический параметр имеет тип void: номер параметра, номер списка параметров
Ошибка компилятора C2175 "языковой стандарт": недопустимый языковой стандарт
Ошибка компилятора C2176 Оператор return не может отображаться в обработчике блока функции try-block, связанного с конструктором
Ошибка компилятора C2177 слишком большая константа
Ошибка компилятора C2178 "идентификатор" нельзя объявить с помощью описателя "описатель"
Ошибка компилятора C2179 "type": аргумент атрибута не может использовать параметры типа
Ошибка компилятора C2180 Управляемое выражение имеет тип "type"
Ошибка компилятора C2181 недопустимый else без парного if
Ошибка компилятора C2182 "идентификатор": незаконное использование типа "void"
Ошибка компилятора C2183 синтаксическая ошибка: единица перевода пуста
Ошибка компилятора C2184 "type": недопустимый тип для выражения __except
Ошибка компилятора C2185 "идентификатор": незаконное выделение на основе
Ошибка компилятора C2186 'operator': незаконный операнд типа "void"
Ошибка компилятора C2187 синтаксическая ошибка: "token" была непредвиденной здесь
Ошибка компилятора C2188 "число": слишком большой для широкого символа
Ошибка компилятора C2189 Атрибут "alignas" не может применяться к битовой области, параметру функции, объявлению исключения или переменной, объявленной с классом хранилища register
Ошибка компилятора C2190 первый список параметров длиннее секунды
Ошибка компилятора C2191 второй список параметров длиннее, чем первый
Ошибка компилятора C2192 Объявление параметра "number" отличается
Ошибка компилятора C2193 "идентификатор": уже в сегменте
Ошибка компилятора C2194 "идентификатор": является текстовым сегментом
Ошибка компилятора C2195 "identifier": является сегментом данных
Ошибка компилятора C2196 Значение регистра "value" уже используется
Ошибка компилятора C2197 Function: слишком много аргументов для вызова
Ошибка компилятора C2198 Function: слишком мало аргументов для вызова
Ошибка компилятора C2199 синтаксическая ошибка: найден идентификатор (" в глобальной области (предназначено объявление?)

См. также

Компилятор C/C++ и средства сборки ошибок и предупреждений
Ошибки компилятора C2001 — C3999, C7000 — C7999