Ошибки компилятора с C2000 по C2099

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

Важно!

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

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

Примечание.

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

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

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

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

Ошибка Message
Ошибка компилятора C2000 НЕИЗВЕСТНАЯ ОШИБКА
НЕИЗВЕСТНОЕ СООБЩЕНИЕ. Выберите команду "Техническая поддержка" в меню "Справка" Visual C++ или откройте справочный файл технической поддержки для получения дополнительных сведений
Ошибка компилятора C2001 новая линия в константе
Ошибка компилятора C2002 недопустимая константа wide-character
Ошибка компилятора C2003 ожидаемый "определенный идентификатор"
Ошибка компилятора C2004 требуется "defined(id)"
Ошибка компилятора C2005 #line ожидается номер строки, найденный "токен"
Ошибка компилятора C2006 "директива": ожидается имя файла, найдено "token"
Ошибка компилятора C2007 синтаксис #define
Ошибка компилятора C2008 "символ": непредвиденное в определении макроса
Ошибка компилятора C2009 повторное использование формального "идентификатора" макроса
Ошибка компилятора C2010 "символ": непредвиденное в списке формальных параметров макроса
Ошибка компилятора C2011 "identifier": "type" type redefinition
Ошибка компилятора C2012 отсутствует имя после '<'
Ошибка компилятора C2013 отсутствует '>'
Ошибка компилятора C2014 Команда препроцессора должна начинаться как первое нехитовое пространство
Ошибка компилятора C2015 слишком много символов в константе
Ошибка компилятора C2016 Для C требуется, чтобы у структуры или объединения не менее одного члена
Ошибка компилятора C2017 недопустимая последовательность escape-адресов
Ошибка компилятора C2018 неизвестный символ "0xvalue"
Ошибка компилятора C2019 ожидаемая директива препроцессора, найденная символом
Ошибка компилятора C2020 'member': 'class' member redefinition
Ошибка компилятора C2021 ожидаемое экспонентное значение, а не символ
Ошибка компилятора C2022 "число": слишком большой для символа
Ошибка компилятора C2023 "идентификатор": выравнивание (значение-1) отличается от предыдущего объявления (значение-2)
Ошибка компилятора C2024 Атрибут "alignas" применяется только к переменным, элементам данных и типам тегов
Ошибка компилятора C2025 Недопустимый или поврежденный файл интерфейса двоичного модуля: "filename"
Ошибка компилятора C2026 Слишком большая строка, конечные символы усечены
Ошибка компилятора C2027 использование неопределенного типа "type"
Ошибка компилятора C2028 член структуры (объединения) должен находиться в ее (его) пределах
Ошибка компилятора C2029 (устаревшее) слева от "token" указывает неопределенный класс/структуру/интерфейс "идентификатор"
Ошибка компилятора C2030 деструктор с модификатором доступа protected private не может быть членом класса, объявленного как sealed
Ошибка компилятора C2031 Виртуальный деструктор со специальными возможностями "специальные возможности" не допускается для этого типа.
Ошибка компилятора C2032 "идентификатор": функция не может быть членом структуры или объединения "type"
Ошибка компилятора C2033 "идентификатор": битовое поле не может иметь косвенное значение
Ошибка компилятора C2034 "идентификатор": тип битового поля слишком мал для количества битов
Ошибка компилятора C2035 Не-виртуальный деструктор со специальными возможностями "специальные возможности" не допускается для этого типа.
Ошибка компилятора C2036 "идентификатор": неизвестный размер
Ошибка компилятора C2037 слева от оператора указывает неопределенную структуру/объединение "type"
Ошибка компилятора C2038 Пространство имен std не может быть встроенным
Ошибка компилятора C2039 "identifier1": не является членом "identifier2"
Ошибка компилятора C2040 "operator": "identifier1" отличается на уровнях косвенного обращения от "identifier2"
Ошибка компилятора C2041 недопустимая цифра "символ" для базового "номера"
Ошибка компилятора C2042 зарезервированные слова signed и unsigned являются взаимоисключающими
Ошибка компилятора C2043 недопустимый break
Ошибка компилятора C2044 недопустимый continue
Ошибка компилятора C2045 "идентификатор": метка переопределена
Ошибка компилятора C2046 недопустимый вариант выбора
Ошибка компилятора C2047 недопустимый вариант, используемый по умолчанию
Ошибка компилятора C2048 несколько вариантов, используемых по умолчанию
Ошибка компилятора C2049 "namespace-name": нестроное пространство имен невозможно повторно открыть как встроенное
Ошибка компилятора C2050 Выражение switch не целочисленное
Ошибка компилятора C2051 Выражение регистра не констант
Ошибка компилятора C2052 "type": недопустимый тип для выражения регистра
Ошибка компилятора C2053 "идентификатор": широкое несоответствие строк
Ошибка компилятора C2054 ожидается "(" для выполнения "идентификатор"
Ошибка компилятора C2055 ожидаемый формальный список параметров, а не список типов
Ошибка компилятора C2056 незаконное выражение
Ошибка компилятора C2057 требуется константное выражение
Ошибка компилятора C2058 неполное константное выражение
Ошибка компилятора C2059 синтаксическая ошибка: "token"
Ошибка компилятора C2060 синтаксическая ошибка: конец найденного файла
Ошибка компилятора C2061 синтаксическая ошибка: идентификатор "идентификатор"
Ошибка компилятора C2062 непредвиденное тип "type"
Ошибка компилятора C2063 "идентификатор": не функция
Ошибка компилятора C2064 термин не вычисляет функцию, принимающие аргументы числа
Ошибка компилятора C2065 "identifier": необъявленный идентификатор
Ошибка компилятора C2066 Приведение к типу функции является незаконным
Ошибка компилятора C2067 недопустимое приведение к типу массива
Ошибка компилятора C2068 незаконное использование перегруженной функции. Отсутствует список аргументов?
Ошибка компилятора C2069 приведение типа с "void" к типу без "void"
Ошибка компилятора C2070 Type: недопустимый размер операнда
Ошибка компилятора C2071 "идентификатор": недопустимый класс хранилища
Ошибка компилятора C2072 "идентификатор": инициализация функции
Ошибка компилятора C2073 (устаревшее) "идентификатор": элементы частично инициализированного массива должны иметь конструктор по умолчанию
Ошибка компилятора C2074 "идентификатор": инициализация типа требует списка инициализатора с скобками
Ошибка компилятора C2075 "идентификатор": для инициализации массива требуется список инициализатора с скобками
Ошибка компилятора C2076 Список инициализатора с скобками нельзя использовать в новом выражении, тип которого содержит тип "type"
Ошибка компилятора C2077 инициализатор не скалярного поля "идентификатор"
Ошибка компилятора C2078 слишком много инициализаторов
Ошибка компилятора C2079 "идентификатор" использует неопределенную структуру/класс/объединение "type"
Ошибка компилятора C2080 "идентификатор": тип для типа может быть выведен только из одного выражения инициализатора
Ошибка компилятора C2081 "идентификатор": имя в формальном списке параметров незаконно
Ошибка компилятора C2082 переопределение формального параметра "идентификатор"
Ошибка компилятора C2083 Недопустимое сравнение структуры или объединения
Ошибка компилятора C2084 Функция "идентификатор" уже имеет текст
Ошибка компилятора C2085 "идентификатор": не в формальном списке параметров
Ошибка компилятора C2086 "identifier": redefinition
Ошибка компилятора C2087 "идентификатор": отсутствующий подстрок
Ошибка компилятора C2088 Оператор: незаконный для структуры/класса/объединения
Ошибка компилятора C2089 "идентификатор": "тип" слишком большой
Ошибка компилятора C2090 функция возвращает массив
Ошибка компилятора C2091 функция возвращает функцию
Ошибка компилятора C2092 Тип элемента массива "идентификатор" не может быть функцией
Ошибка компилятора C2093 "identifier1": невозможно инициализировать с помощью адреса автоматической переменной "identifier2"
Ошибка компилятора C2094 Метка "идентификатор" не определена
Ошибка компилятора C2095 "function": фактический параметр имеет тип void: номер параметра
Ошибка компилятора C2096 "идентификатор": член данных не может быть инициализирован с скобками инициализатора
Ошибка компилятора C2097 незаконное инициализация
Ошибка компилятора C2098 непредвиденный маркер после элемента данных "идентификатор"
Ошибка компилятора C2099 инициализатор не является константой

См. также

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