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


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

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

Внимание

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

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

Примечание.

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

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

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

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

Ошибка Сообщение
Ошибка компилятора C2100 Вы не можете разыменовать операнд типа "type"
Ошибка компилятора C2101 "&" в константе
Ошибка компилятора C2102 для "&" требуется левостороннее значение
Ошибка компилятора C2103 "&" для регистровой переменной
Ошибка компилятора C2104 '&' в битовом поле игнорируется
Ошибка компилятора C2105 Оператору требуется l-value
Ошибка компилятора C2106 Оператор: левый операнд должен быть l-value
Ошибка компилятора C2107 незаконный индекс, косвенное не разрешено
Ошибка компилятора C2108 подстрок не имеет целочисленного типа
Ошибка компилятора C2109 Для подстрочного индекса требуется тип массива или указателя
Ошибка компилятора C2110 '+': не удается добавить два указателя
Ошибка компилятора C2111 '+': добавление указателя требует целочисленного операнда
Ошибка компилятора C2112 '-': для вычитания указателей требуется операнд целого типа или другой указатель.
Ошибка компилятора C2113 '-': вычитание указателя возможно только из другого указателя
Ошибка компилятора C2114 Оператор: указатель слева; нужно целочисленное значение справа
Ошибка компилятора C2115 Оператор: несовместимые типы
Ошибка компилятора C2116 "name": списки параметров функции не совпадают между объявлениями
Ошибка компилятора C2117 "идентификатор": переполнение границ массива
Ошибка компилятора C2118 отрицательный подстрок
Ошибка компилятора C2119 "идентификатор": тип для "типа" не может быть выведен из пустого инициализатора"
Ошибка компилятора C2120 'void' не может сочетаться с любым другим описателями типов
Ошибка компилятора C2121 '#': недопустимый символ: возможно, результат расширения макроса
Ошибка компилятора C2122 "идентификатор": параметр прототипа в списке имен недопустимый
Ошибка компилятора C2123 "идентификатор": шаблоны псевдонимов не могут быть явно или частично специализированы
Ошибка компилятора C2124 деление или модуль по нулю
Ошибка компилятора C2125 "constexpr" несовместим с "token"
Ошибка компилятора C2126 "идентификатор" нельзя объявить со спецификатором constexpr
Ошибка компилятора C2127 "идентификатор": незаконная инициализация constexpr сущности с неконстантным выражением
Ошибка компилятора C2128 "функция": "alloc_text/same_seg" применимо только к функциям с C связыванием
Ошибка компилятора C2129 статическая функция "идентификатор" объявлена, но не определена
Ошибка компилятора C2130 #line ожидается строка, содержащая имя файла, найденное "token"
Ошибка компилятора C2131 выражение не оценивается как константа
Ошибка компилятора C2132 синтаксическая ошибка: непредвиденный идентификатор
Ошибка компилятора C2133 "идентификатор": неизвестный размер
Ошибка компилятора C2134 "function": вызов не приводит к константным выражениям
Ошибка компилятора C2135 "идентификатор": нельзя применить оператор к битовой области
Ошибка компилятора C2136 Контракт на создание API не разрешен
Ошибка компилятора C2137 пустая символьная константа
Ошибка компилятора C2138 незаконно определять перечисление без каких-либо элементов
Ошибка компилятора C2139 "class": неопределенный класс не допускается в качестве аргумента для встроенного типа компилятора признака 'trait'
Ошибка компилятора 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": разрешен только тип перечисления в качестве аргумента для признака встроенного типа компилятора "__underlying_type".
Ошибка компилятора C2155 '?': недопустимый левый операнд, ожидается арифметический или указательный тип
Ошибка компилятора C2156 директива pragma должна находиться вне функции
Ошибка компилятора C2157 "идентификатор": необходимо объявить перед использованием в списке pragma
Ошибка компилятора C2158 "type": директива #pragma make_public в настоящее время поддерживается только для собственных типов, отличных от шаблонов
Ошибка компилятора C2159 указано несколько классов хранения
Ошибка компилятора C2160 "##" не может встречаться в начале макроопределения
Ошибка компилятора C2161 "##" не может встречаться в конце макроопределения
Ошибка компилятора C2162 ожидаемый формальный параметр макроса
Ошибка компилятора C2163 "function": недоступно в качестве встроенной функции
Ошибка компилятора C2164 "function": встроенная функция не объявлена
Ошибка компилятора C2165 Модификатор: не удается изменить указатели на данные
Ошибка компилятора C2166 левое значение указывает на объект-константу
Ошибка компилятора C2167 "function": слишком много фактических параметров для встроенной функции
Ошибка компилятора C2168 Function: слишком мало фактических параметров для встроенной функции
Ошибка компилятора C2169 "function": встроенная функция, не может быть определена
Ошибка компилятора C2170 "идентификатор": не объявлен как функция, не может быть встроенным
Ошибка компилятора C2171 оператор "operator" не может применяться к операнду типа "type"
Ошибка компилятора C2172 "function": фактический параметр не является указателем: номер параметра
Ошибка компилятора C2173 "function": фактический параметр не является указателем: номер параметра, номер списка параметров
Ошибка компилятора C2174 "function": фактический параметр имеет тип void: номер параметра, номер списка параметров
Ошибка компилятора C2175 "локаль": недопустимая локаль
Ошибка компилятора C2176 Оператор return не может использоваться в обработчике блока конструкции try, связанного с конструктором.
Ошибка компилятора 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 Функция: слишком много аргументов для вызова
Ошибка компилятора C2198 function: слишком мало аргументов для вызова
Ошибка компилятора C2199 синтаксическая ошибка: найден идентификатор ( в глобальной области (предполагалось объявление?)

См. также

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