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


Ошибки компилятора с C2200 по C2299

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

Внимание

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

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

Примечание.

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

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

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

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

Ошибка Сообщение
Ошибка компилятора C2200 "function": функция уже определена
Ошибка компилятора C2201 "идентификатор": должна иметь внешнюю компоновку для экспорта и импорта
Ошибка компилятора C2202 Function: не все пути управления возвращают значение
Ошибка компилятора C2203 Оператор delete не может указать границы для массива
Ошибка компилятора C2204 "type": определение типа, найденное в скобках
Ошибка компилятора C2205 "идентификатор": не удается инициализировать экстерн-переменные с областью блока
Ошибка компилятора C2206 "function": typedef нельзя использовать для определения функции
Ошибка компилятора C2207 "member": член шаблона класса не может получить тип функции
Ошибка компилятора C2208 "type": элементы, определенные с помощью этого типа, не определены
Ошибка компилятора C2209 "identifier": псевдонимы не могут использоваться в объявлениях конструктора
Ошибка компилятора C2210 "идентификатор": расширения пакетов нельзя использовать в качестве аргументов для непакетных параметров в шаблонах псевдонимов
Ошибка компилятора C2211 Не-виртуальный деструктор в классе ссылок, производный от класса ссылок с общедоступным деструктором, также должен быть открытым
Ошибка компилятора C2212 "идентификатор": __based недоступны для указателей на функции
Ошибка компилятора C2213 "идентификатор": недопустимый аргумент для __based
Ошибка компилятора C2214 Указатели на основе "void" требуют использования:>
Ошибка компилятора C2215 "ключевое слово" нельзя использовать с "/arch:SSE"
Ошибка компилятора C2216 "keyword1" нельзя использовать с "keyword2"
Ошибка компилятора C2217 Для атрибута1 требуется атрибут2.
Ошибка компилятора C2218 "calltype" нельзя использовать с "/arch:IA32"
Ошибка компилятора C2219 ошибка синтаксиса: квалификатор типа должен быть после "*"
Ошибка компилятора C2220 предупреждение, обработанное как ошибка, — файл "filetype" не создан
Ошибка компилятора C2221 Является устаревшей.
Ошибка компилятора C22222 непредвиденный тип "type": ожидается базовый класс или член
Ошибка компилятора C2223 слева от "->identifier" должен указывать на структуру или объединение
Ошибка компилятора C2224 слева от '.Идентификатор должен иметь тип структуры или объединения
Ошибка компилятора C2225 Является устаревшей.
Ошибка компилятора C2226 синтаксическая ошибка: непредвиденный тип "type"
Ошибка компилятора C2227 слева от "->identifier" должен указывать на класс/структуру/объединение/универсальный тип
Ошибка компилятора C2228 слева от '.идентификатор должен иметь класс/структуру/объединение
Ошибка компилятора C2229 class/struct/union "type" имеет недопустимый массив нулевого размера
Ошибка компилятора C2230 не удалось найти модуль "name"
Ошибка компилятора C2231 '.идентификатор: левый операнд указывает на "class/struct/union", используйте "->"
Ошибка компилятора C2232 "->identifier": левый операнд имеет тип "class/struct/union", используйте "".
Ошибка компилятора C2233 "идентификатор": массивы объектов, содержащих массивы нулевого размера, являются незаконными
Ошибка компилятора C2234 идентификатор:массивы ссылок являются незаконными
Ошибка компилятора C2235 Является устаревшей.
Ошибка компилятора C2236 непредвиденный маркер "token". Возможно, вы забыли «;»?
Ошибка компилятора C2237 Объявление нескольких модулей
Ошибка компилятора C2238 непредвиденные маркеры, предшествующие "токену"
Ошибка компилятора C2239 Function: попытка удалить функцию __declspec(dllexport)
Ошибка компилятора C2240 Является устаревшей.
Ошибка компилятора C2241 "идентификатор": доступ к члену ограничен
Ошибка компилятора C2242 имя typedef не может следовать за классом, структурой или объединением
Ошибка компилятора C2243 "conversion_type": преобразование из "type1" в "type2" существует, но недоступно
Ошибка компилятора C2244 "идентификатор": не удается сопоставить определение функции с существующим объявлением
Ошибка компилятора C2245 Несуществующая функция-член "function", указанная как друг (подпись функции-члена не соответствует какой-либо перегрузке)
Ошибка компилятора C2246 "идентификатор": недопустимый статический элемент данных в локально определенном классе
Ошибка компилятора C2247 "идентификатор" недоступен, так как класс1 использует "описатель" для наследования от класса2.
Ошибка компилятора C2248 "идентификатор": не удается получить доступ к члену специальных возможностей, объявленному в классе "class"
Ошибка компилятора C2249 "идентификатор": нет доступного пути к члену специальных возможностей, объявленному в виртуальной базе "класс"
Ошибка компилятора C2250 "идентификатор": неоднозначное наследование класса::member
Ошибка компилятора C2251 Пространство имен "пространство имен" не имеет члена "идентификатор" - означает ли вы "член"?
Ошибка компилятора C2252 Явное создание экземпляра шаблона может происходить только в области пространства имен
Ошибка компилятора C2253 "function": чистый описатель или абстрактный описатель, разрешенный только для виртуальной функции
Ошибка компилятора C2254 "function": чистый описатель или абстрактный описатель переопределения не разрешен для функции friend
Ошибка компилятора C2255 Элемент: не допускается вне определения класса
Ошибка компилятора C2256 незаконное использование описатель друга в функции
Ошибка компилятора C2257 "описатель": описатель не разрешен в типе возвращаемого значения в пути
Ошибка компилятора C2258 недопустимый строгий синтаксис, требуется "= 0"
Ошибка компилятора C2259 Class: не удается создать экземпляр абстрактного класса
Ошибка компилятора C2260 "описатель": недопустимый описатель сборки InternalsVisibleToAttribute
Ошибка компилятора C2261 "string": ссылка на сборку недопустима и не может быть разрешена
Ошибка компилятора C2262 "описатель": объявления InternalsVisibleTo не могут иметь версию, язык и региональные параметры или архитектуру процессора.
Ошибка компилятора C2263 Является устаревшей.
Ошибка компилятора C2264 "function": ошибка в определении или объявлении функции; функция не вызывается
Ошибка компилятора C2265 Является устаревшей.
Ошибка компилятора C2266 "идентификатор": ссылка на неконстантный ограничивающий массив является незаконным
Ошибка компилятора C2267 "function": статические функции с областью блокировки являются незаконными
Ошибка компилятора C2268 Функция — это предопределенный вспомогательный средство компилятора библиотеки. Вспомогательные средства библиотеки не поддерживаются с /GL; скомпилируйте файл объекта filename без /GL.
Ошибка компилятора C2269 не может создать указатель или ссылку на квалифицированный тип функции (требуется указатель на член)
Ошибка компилятора C2270 "function": модификаторы не разрешены для функций nonmember
Ошибка компилятора C2271 "function": new/delete не может иметь формальные модификаторы списка
Ошибка компилятора C2272 "function": модификаторы не разрешены для статических функций-членов
Ошибка компилятора C2273 "type": недопустимый в правой части оператора "->"
Ошибка компилятора C2274 "type": недопустимый в правой части оператора ".
Ошибка компилятора C2275 "type": незаконное использование этого типа в качестве выражения
Ошибка компилятора C2276 Оператор: недопустимая операция с выражением связанной функции-члена
Ошибка компилятора C2277 Function: не может принимать адрес этой функции-члена.
Ошибка компилятора C2278 Является устаревшей.
Ошибка компилятора C2279 Спецификация исключения не может отображаться в объявлении typedef
Ошибка компилятора C2280 Class::function: попытка ссылаться на удаленную функцию
Ошибка компилятора C2281 Класс::function: функция может быть удалена только в первом объявлении.
Ошибка компилятора C2282 Функция1 не может переопределить function2
Ошибка компилятора C2283 "identifer": чистый описатель или абстрактный описатель не разрешен для неназванного класса/структуры
Ошибка компилятора C2284 Function: недопустимый аргумент встроенной функции, номер параметра
Ошибка компилятора C2285 Указатели на представление элементов уже определены - pragma игнорируется
Ошибка компилятора C2286 Указатели на элементы представления "идентификатор" уже заданы для наследования - объявление игнорируется
Ошибка компилятора C2287 "идентификатор": представление наследования: "наследование" меньше, чем необходимое "наследование"
Ошибка компилятора C2288 Является устаревшей.
Ошибка компилятора C2289 Множественное использование одного и того же квалификатора типа
Ошибка компилятора C2290 Синтаксис C++ "asm" игнорируется. Используйте __asm.
Ошибка компилятора C2291 Невозможно экспортировать анонимное пространство имен.
Ошибка компилятора C2292 "идентификатор": лучшее представление наследования регистра: наследование1, объявленное, но "наследование2" требуется
Ошибка компилятора C2293 "идентификатор": недопустимо иметь переменную-член в качестве описателя __based
Ошибка компилятора C2294 не удается экспортировать символ "идентификатор", так как он имеет внутреннюю компоновку
Ошибка компилятора C2295 Escaped "символ": является незаконным в определении макроса
Ошибка компилятора C2296 Оператор: недопустимый, левый операнд имеет тип "type"
Ошибка компилятора C2297 "оператор": недопустимый, правый операнд имеет тип "type"
Ошибка компилятора C2298 Отсутствующий вызов привязки указателя к функции-члену
Ошибка компилятора C2299 "function": изменение поведения: явная специализация не может быть конструктором копирования или оператором назначения копирования

См. также

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