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


Ошибки компилятора с C2600 по C2699

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

Внимание

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

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

Примечание.

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

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

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

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

Ошибка Сообщение
Ошибка компилятора C2600 Function: не может определить созданную компилятором специальную функцию-член (сначала необходимо объявить в классе).
Ошибка компилятора C2601 "function": определения локальных функций являются незаконными
Ошибка компилятора C2602 "class::identifier" не является членом базового класса класса "class"
Ошибка компилятора C2603 "function": слишком много статических объектов области блоков с конструкторами или деструкторами в функции
Ошибка компилятора C2604 "идентификатор": не удается реализовать несколько методов интерфейса
Ошибка компилятора C2605 "идентификатор": этот метод зарезервирован в управляемом или winRT-классе
Ошибка компилятора C2606 Class1: не может повторно реализовать "member", так как он наследуется от базового класса среды выполнения "class2"
Ошибка компилятора C2607 Сбой статического утверждения
Ошибка компилятора C2608 Является устаревшей.
Ошибка компилятора C2609 Является устаревшей.
Ошибка компилятора C2610 "class::member": не является специальной функцией-членом, которая может быть включена по умолчанию
Ошибка компилятора C2611 "token": недопустимое "~" (ожидаемый идентификатор)
Ошибка компилятора C2612 недопустимый символ в списке инициализатора базового или члена
Ошибка компилятора C2613 недопустимый символ в списке базовых классов
Ошибка компилятора C2614 Class: недопустимая инициализация члена: "идентификатор" не является базовым или членом
Ошибка компилятора C2615 Является устаревшей.
Ошибка компилятора C2616 "convert": неявно преобразовать неозначенный "type1" в тип2, который не является константом
Ошибка компилятора C2617 Function: несогласованный оператор возврата
Ошибка компилятора C2618 Является устаревшей.
Ошибка компилятора C2619 "идентификатор": статический член данных не разрешен в анонимной структуре или союзе
Ошибка компилятора C2620 Является устаревшей.
Ошибка компилятора C2621 Является устаревшей.
Ошибка компилятора C2622 Является устаревшей.
Ошибка компилятора C2623 Является устаревшей.
Ошибка компилятора C2624 Scope::type: локальные классы нельзя использовать для объявления переменных extern.
Ошибка компилятора C2625 "идентификатор": недопустимый член объединения; тип "тип" является ссылочным типом
Ошибка компилятора C2626 "идентификатор": частный или защищенный член данных не разрешен в анонимной структуре или союзе
Ошибка компилятора C2627 Function: функция-член не разрешена в анонимном союзе
Ошибка компилятора C2628 "type1", за которым следует "type2" является незаконным (вы забыли ";"?)
Ошибка компилятора C2629 "идентификатор": анонимная структура или объединение не может объявить вложенный тип
Ошибка компилятора C2630 Символ, найденный в списке, разделенном запятыми
Ошибка компилятора C2631 "идентификатор": класс или перечисление нельзя определить в шаблоне псевдонима
Ошибка компилятора C2632 Тип1, за которым следует тип2, является незаконным
Ошибка компилятора C2633 "identifier": "inline" является единственным юридическим классом хранилища для конструкторов
Ошибка компилятора C2634 "class::member": указатель на элемент ссылки является незаконным
Ошибка компилятора C2635 не может преобразовать тип1 тип2*; преобразование из виртуального базового класса подразумевается
Ошибка компилятора C2636 "идентификатор": указатель на элемент является недопустимым
Ошибка компилятора C2637 "идентификатор": не удается изменить указатели на элементы данных
Ошибка компилятора C2638 "identifier": __based модификатор незаконно на указатель на член
Ошибка компилятора C2639 Является устаревшей.
Ошибка компилятора C2640 "identifier": __based модификатор незаконно на ссылке
Ошибка компилятора C2641 Является устаревшей.
Ошибка компилятора C2642 Является устаревшей.
Ошибка компилятора C2643 Является устаревшей.
Ошибка компилятора C2644 Является устаревшей.
Ошибка компилятора C2645 нет квалифицированного имени для указателя на член (найдено ":: *" )
Ошибка компилятора C2646 Анонимная структура или объединение в области глобального или пространства имен должна быть объявлена статической
Ошибка компилятора C2647 Оператор: не удается разыменить тип1 для типа2.
Ошибка компилятора C2648 "идентификатор": использование элемента в качестве параметра по умолчанию требует статического члена
Ошибка компилятора C2649 "идентификатор": не является "классом/структурой/объединением"
Ошибка компилятора C2650 Оператор: не может быть виртуальной функцией
Ошибка компилятора C2651 Тип: слева от "::" должен быть классом, структурой или объединением
Ошибка компилятора C2652 Идентификатор: недопустимый конструктор копирования: первый параметр не должен быть типом.
Ошибка компилятора C2653 "идентификатор": не является именем класса или пространства имен
Ошибка компилятора C2654 "идентификатор": попытка доступа к члену за пределами функции-члена
Ошибка компилятора C2655 "идентификатор": определение или повторная отмена незаконной в текущей области
Ошибка компилятора C2656 "function": функция не разрешена как битовое поле
Ошибка компилятора C2657 Класс::*, найденный в начале инструкции (вы забыли указать тип?)
Ошибка компилятора C2658 "идентификатор": переопределение в анонимной структуре или союзе
Ошибка компилятора C2659 Оператор: функция в качестве левого операнда
Ошибка компилятора C2660 Function: функция не принимает аргументы числа
Ошибка компилятора C2661 "function": перегруженная функция не принимает аргументы числа
Ошибка компилятора C2662 "function": не может преобразовать указатель "this" из "type1" в "type2"
Ошибка компилятора C2663 "function": перегрузки чисел не имеют юридического преобразования для указателя "this"
Ошибка компилятора C2664 "function": не удается преобразовать номер аргумента из типа1 в "type2"
Ошибка компилятора C2665 "function": ни одна из перегрузок чисел не может преобразовать все типы аргументов
Ошибка компилятора C2666 "function": перегрузки чисел имеют аналогичные преобразования
Ошибка компилятора C2667 "function": ни одна из перегрузок чисел не имеет лучшего преобразования
Ошибка компилятора C2668 "function": неоднозначный вызов перегруженной функции
Ошибка компилятора C2669 Функция-член не разрешена в анонимном союзе
Ошибка компилятора C2670 "function": шаблон функции не может преобразовать номер параметра из типа "type"
Ошибка компилятора C2671 "function": статические функции-члены не имеют указателей "this"
Ошибка компилятора C2672 "function": не найдена перегруженная функция сопоставления
Ошибка компилятора C2673 "function": глобальные функции не имеют указателей "this"
Ошибка компилятора C2674 Универсальное объявление не допускается в этом контексте
Ошибка компилятора C2675 унарный "оператор": "type" не определяет этот оператор или преобразование в тип, приемлемый для предопределенного оператора
Ошибка компилятора C2676 binary 'operator': "type" не определяет этот оператор или преобразование в тип, приемлемый для предопределенного оператора
Ошибка компилятора C2677 binary 'operator': глобальный оператор не найден, который принимает тип "type" (или нет допустимого преобразования).
Ошибка компилятора C2678 binary 'operator': не найден оператор, который принимает левый операнд типа "type" (или нет допустимого преобразования).
Ошибка компилятора C2679 binary 'operator': не найден оператор, который принимает правый операнд типа "тип" (или нет допустимого преобразования)
Ошибка компилятора C2680 Type: недопустимый тип целевого объекта для приведения
Ошибка компилятора C2681 "type": недопустимый тип выражения для приведения
Ошибка компилятора C2682 не может использовать "cast" для преобразования из типа1 в "type2"
Ошибка компилятора C2683 "cast": "type" не является полиморфным типом
Ошибка компилятора C2684 "декларатор": удаленные и стандартные функции не поддерживаются в классах Managed/WinRT
Ошибка компилятора C2685 "декларатор": удаленные и стандартные функции не поддерживаются явными описателями ограничений
Ошибка компилятора C2686 не может перегружать статические и нестатические функции-члены с теми же типами параметров
Ошибка компилятора C2687 "type": объявление исключения не может быть "void" или обозначает неполный тип или указатель или ссылку на неполный тип
Ошибка компилятора C2688 Type::member: ковариант возвращается с несколькими или виртуальными наследованием, которые не поддерживаются для функций varargs.
Ошибка компилятора C2689 "function": другая функция не может быть определена в локальном классе
Ошибка компилятора C2690 Оператор: не удается выполнить арифметику указателя на управляемый массив Или WinRT
Ошибка компилятора C2691 "type": у управляемого или winRT массива не может быть этот тип элемента
Ошибка компилятора C2692 "function": полностью прототипированные функции, необходимые в компиляторе C с параметром "/clr"
Ошибка компилятора C2693 Оператор: незаконное сравнение ссылок на управляемый массив Или WinRT
Ошибка компилятора C2694 "override_function": переопределение виртуальной функции имеет менее ограничивающую спецификацию исключений, чем функция виртуального члена базового класса "base_function".
Ошибка компилятора C2695 "override_function": переопределение виртуальной функции отличается от "base_function" только по соглашению о вызовах
Ошибка компилятора C2696 Не удается создать временный объект типа managed/WinRT type 'type'.
Ошибка компилятора C2697 Является устаревшей.
Ошибка компилятора C2698 Использование объявления для "declaration1" не может существовать с существующим объявлением using-declaration для "declaration2"

См. также

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