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


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

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

Внимание

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

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

Примечание.

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

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

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

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

Ошибка Сообщение
Ошибка компилятора C2200 "function": функция уже определена
Ошибка компилятора C2201 "идентификатор": должен иметь внешнее связывание, чтобы быть экспортированным/импортированным"
Ошибка компилятора C2202 Function: не все пути управления возвращают значение
Ошибка компилятора C2203 Оператор delete не может указать границы для массива
Ошибка компилятора C2204 "type": определение типа, найденное в скобках
Ошибка компилятора C2205 "идентификатор": не удается инициализировать внешние переменные с блочной областью видимости
Ошибка компилятора C2206 "function": typedef нельзя использовать для определения функции
Ошибка компилятора C2207 "member": член шаблона класса не может получить тип функции
Ошибка компилятора C2208 "type": элементы, определенные с помощью этого типа, не определены
Ошибка компилятора C2209 "identifier": псевдонимы не могут использоваться в объявлениях конструктора
Ошибка компилятора C2210 "идентификатор": расширения пакетов нельзя использовать в качестве аргументов для непакетных параметров в шаблонах псевдонимов
Ошибка компилятора C2211 Не-виртуальный деструктор в ref классе, производном от ref класса с публичным деструктором, также должен быть публичным.
Ошибка компилятора C2212 "идентификатор": __based недоступен для указателей на функции
Ошибка компилятора C2213 "идентификатор": недопустимый аргумент для __based
Ошибка компилятора C2214 Указатели на основе "void" требуют использования:>
Ошибка компилятора C2215 "ключевое слово" нельзя использовать с "/arch:SSE"
Ошибка компилятора C2216 "keyword1" нельзя использовать с "keyword2"
Ошибка компилятора C2217 Для атрибута1 требуется атрибут2.
Ошибка компилятора C2218 "calltype" нельзя использовать с "/arch:IA32"
Ошибка компилятора C2219 ошибка синтаксиса: квалификатор типа должен быть после "*"
Ошибка компилятора C2220 Следующее предупреждение рассматривается как ошибка
Ошибка компилятора 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 Несоответствие целевой архитектуры для скомпилированного интерфейса модуля для архитектуры1из архитектуры2
Ошибка компилятора C2236 неожиданный токен "token". Возможно, вы забыли «;»?
Ошибка компилятора C2237 Объявление нескольких модулей
Ошибка компилятора C2238 неожиданные маркеры, предшествующие "токену"
Ошибка компилятора C2239 'Функция': попытка удалить функцию __declspec(dllexport)
Ошибка компилятора C2240 Является устаревшей.
Ошибка компилятора C2241 "идентификатор": доступ к члену ограничен
Ошибка компилятора C2242 имя typedef не может следовать за классом, структурой или объединением
Ошибка компилятора C2243 "conversion_type": преобразование из "type1" в "type2" существует, но недоступно
Ошибка компилятора C2244 "идентификатор": не удается сопоставить определение функции с существующим объявлением
Ошибка компилятора C2245 Несуществующая функция-член 'function', указанная как дружественная (сигнатура функции-члена не соответствует ни одной из перегрузок)
Ошибка компилятора C2246 "идентификатор": недопустимый статический элемент данных в локально определенном классе
Ошибка компилятора C2247 "'идентификатор' недоступен, потому что 'класс1' использует 'спецификатор' для наследования от 'класса2'."
Ошибка компилятора C2248 "идентификатор": не удается получить доступ к доступностичлену, объявленному в классе "класс"
Ошибка компилятора C2249 "идентификатор": нет доступного пути к элементу доступностичлен, объявленному в виртуальной базе "класс"
Ошибка компилятора C2250 "идентификатор": неоднозначное наследование класса::member
Ошибка компилятора C2251 Пространство имен 'namespace' не содержит элемента 'identifier' - Вы имели в виду 'member'?
Ошибка компилятора 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 'тип': ожидается выражение вместо типа
Ошибка компилятора C2276 Оператор: недопустимая операция над выражением привязанной функции-члена
Ошибка компилятора C2277 Function: не может принимать адрес этой функции-члена.
Ошибка компилятора C2278 "токен": непредвиденный токен. Формат : "__has_cpp_attribute( identifier )'
Ошибка компилятора C2279 Спецификация исключения не может отображаться в объявлении typedef
Ошибка компилятора C2280 Class::function: попытка ссылаться на удаленную функцию
Ошибка компилятора C2281 Класс::function: функция может быть удалена только в первом объявлении.
Ошибка компилятора C2282 'Функция1' не может переопределить 'Функция2'
Ошибка компилятора C2283 'идентификатор': чистый спецификатор или абстрактный спецификатор переопределения не разрешен в неназванной структуре
Ошибка компилятора 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