Ошибки компилятора C2001–C2099
В статьях в этом разделе документации объясняется подмножество сообщений об ошибках, создаваемых компилятором.
Внимание
Компиляторы и средства сборки Visual Studio могут сообщать о многих типах ошибок и предупреждений. После обнаружения ошибки или предупреждения средства сборки могут делать предположения о намерении кода и пытаться продолжить работу, чтобы в одно и то же время сообщалось больше проблем. Если средства делают неверное предположение, последующие ошибки или предупреждения не могут применяться к проекту. При устранении проблем в проекте всегда начинайте с первой зарегистрированной ошибки (или предупреждения) и выполняйте повторную сборку как можно чаще. Одно исправление может привести к возникновению многих последующих ошибок.
Чтобы получить справку по определенному диагностическом сообщению в Visual Studio, выберите его в окне вывода и нажмите клавишу F1 . Visual Studio открывает страницу документации для этой ошибки, если она существует. Вы также можете использовать средство поиска в верхней части страницы, чтобы найти статьи об определенных ошибках или предупреждениях. Или просмотрите список ошибок и предупреждений по инструменту и введите оглавление на этой странице.
Примечание.
Не все ошибки или предупреждения Visual Studio документируются. Во многих случаях диагностическое сообщение предоставляет все доступные сведения. Если вы приземлились на этой странице при использовании F1 , и вы думаете, что сообщение об ошибке или предупреждении требует дополнительного объяснения, сообщите нам об этом. Вы можете использовать кнопки обратной связи на этой странице, чтобы вызвать проблему документации на GitHub. Если вы считаете, что ошибка или предупреждение неправильно, или вы нашли другую проблему с набором инструментов, сообщите о проблеме продукта на сайте Сообщество разработчиков. Вы также можете отправлять отзывы и вводить ошибки в интегрированной среде разработки. В Visual Studio перейдите в строку меню и выберите "Отправить отзыв о > проблеме" или отправьте предложение с помощью справки > по отправке > отзывов > отправить предложение. Некоторые разделы об ошибках компилятора были созданы, которые не создаются компилятором и теперь перенаправляются на эту страницу.
Вы можете найти дополнительную помощь по ошибкам и предупреждениям на форумах Microsoft Learn Q&A . Или найдите номер ошибки или предупреждения на сайте Сообщество разработчиков Visual Studio C++. Вы также можете искать решения в стеке Overflow .
Ссылки на дополнительные справочные материалы и ресурсы сообщества см. в разделе справки и сообщества 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++ и средства сборки ошибок и предупреждений
Ошибки компилятора C2001 — C3999, C7000 — C7999