Ошибки компилятора с 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