Ошибки компилятора с 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