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


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

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

Внимание

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

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

Примечание.

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

Вы можете найти дополнительную помощь по ошибкам и предупреждениям на форумах Microsoft Q&A C++. Или найдите номер ошибки или предупреждения на сайте Сообщество разработчиков Visual Studio C++. Вы также можете поискать решения на Stack 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 недопустимый завершающий символ 'character' в списке инициализатора базового или члена
Ошибка компилятора C2613 недопустимый завершающий символ 'character' в списке базовых классов
Ошибка компилятора C2614 'class': недопустимая инициализация члена: 'идентификатор' не является базовым классом или членом
Ошибка компилятора C2615 'offsetof' невозможно применить к типу, отличному от класса 'типа'
Ошибка компилятора C2616 "conversion": нельзя неявно преобразовать не-lvalue "type1" в "тип2", который не является константой.
Ошибка компилятора C2617 function: несогласованный оператор возврата
Ошибка компилятора C2618 недопустимое обозначение элемента в offsetof
Ошибка компилятора 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 "абстрактный декларатор": модификатор __based недопустим для ссылки
Ошибка компилятора C2641 Не удается вывести аргументы для шаблона 'имя шаблона'
Ошибка компилятора C2642 Два объявления руководства по вычету для одного шаблона класса не могут иметь эквивалентный список параметров и головку шаблона
Ошибка компилятора C2643 Руководство по вычету должно быть объявлено в той же области, что и соответствующий шаблон классаимени шаблона'
Ошибка компилятора C2644 Руководство по дедукции должно иметь тот же доступ, что и соответствующий шаблон класса под названием.
Ошибка компилятора C2645 нет подходящего имени для указателя на член (найдено ':: *')
Ошибка компилятора C2646 Анонимная структура или объединение на уровне глобального пространства или пространства имен должны быть объявлены статическими.
Ошибка компилятора C2647 Оператор: невозможно разыменовать 'тип1' на 'тип2'.
Ошибка компилятора C2648 "идентификатор": использование элемента в качестве параметра по умолчанию требует статического члена
Ошибка компилятора C2649 "идентификатор": не является "классом/структурой/объединением"
Ошибка компилятора C2650 Оператор: не может быть виртуальной функцией
Ошибка компилятора C2651 Тип: слева от "::" должен быть классом, структурой или объединением
Ошибка компилятора C2652 Идентификатор: недопустимый конструктор копирования: первый параметр не должен быть типом.
Ошибка компилятора C2653 "идентификатор": не является именем класса или пространства имен
Ошибка компилятора C2654 "идентификатор": попытка доступа к члену за пределами функции-члена
Ошибка компилятора C2655 "идентификатор": определение или повторное объявление незаконны в текущей области
Ошибка компилятора C2656 "function": функция не разрешена как битовое поле
Ошибка компилятора C2657 class::*, найден в начале оператора (вы забыли указать тип?)
Ошибка компилятора C2658 "идентификатор": переопределение в анонимной структуре или объединении
Ошибка компилятора C2659 оператор: использование как левого операнда
Ошибка компилятора C2660 Function: функция не принимает аргументы числа
Ошибка компилятора C2661 "function": ни одна перегруженная функция не принимает такое количество аргументов.
Ошибка компилятора C2662 "function": невозможно преобразовать указатель "this" из типа "type1" в тип "type2"
Ошибка компилятора C2663 'функция': перегруженная функция не имеет допустимого преобразования для указателяthis'
Ошибка компилятора C2664 'function': не удается преобразовать аргумент number из 'type1' в 'type2'
Ошибка компилятора C2665 'функция': перегруженная функция не может преобразовать все типы аргументов
Ошибка компилятора C2666 'функция': перегруженные функции имеют аналогичные преобразования
Ошибка компилятора C2667 'функция': перегруженная функция не имеет оптимального преобразования
Ошибка компилятора C2668 "function": неоднозначный вызов перегруженной функции
Ошибка компилятора C2669 Функция-член не разрешена в анонимном объединении
Ошибка компилятора C2670 "function": шаблон функции не может преобразовать номер параметраиз типа "type"
Ошибка компилятора C2671 "function": статические функции-члены не имеют указателей "this"
Ошибка компилятора C2672 "function": не найдена соответствующая перегруженная функция
Ошибка компилятора C2673 "function": глобальные функции не имеют указателей "this"
Ошибка компилятора C2674 Универсальное объявление не допускается в этом контексте
Ошибка компилятора C2675 унарный оператор: тип не определяет этот оператор или преобразование в тип, подходящий для предопределенного оператора.
Ошибка компилятора C2676 binary 'operator': 'type' не определяет этот оператор или преобразование в тип, который приемлем для предопределенного оператора.
Ошибка компилятора C2677 binary 'operator': глобальный оператор не найден, который принимает тип 'type' (или нет допустимого преобразования).
Ошибка компилятора C2678 binary 'operator': не найден оператор, который принимает левый операнд типа "type" (или нет допустимого преобразования).
Ошибка компилятора C2679 binary 'operator': не найден оператор, который принимает правый операнд типа "тип" (или нет допустимого преобразования)
Ошибка компилятора C2680 type: неправильный целевой тип для приведения
Ошибка компилятора C2681 "type": недопустимый тип выражения для каста
Ошибка компилятора C2682 нельзя использовать 'приведение типов' для преобразования из 'type1' в '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 Использование объявления 'using' для declaration1 не может существовать параллельно с существующим объявлением 'using' для declaration2

См. также

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