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


Ошибки компилятора с C3200 по C3299

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

Внимание

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

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

Примечание.

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

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

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

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

Ошибка Сообщение
Ошибка компилятора C3200 "type": недопустимый аргумент шаблона для параметра шаблона "parameter", ожидается шаблон класса
Ошибка компилятора C3201 Список параметров шаблона для шаблона класса "template" не соответствует списку параметров шаблона для параметра шаблона "параметр"
Ошибка компилятора C3202 "идентификатор": недопустимый аргумент по умолчанию, ожидаемый шаблон класса
Ошибка компилятора C3203 "идентификатор": неспециализированный шаблон класса/generic нельзя использовать в качестве шаблона/универсального аргумента для параметра template/generic параметр "parameter", ожидается реальный тип
Ошибка компилятора C3204 Не удается вызвать функцию из catch блока
Ошибка компилятора C3205 Отсутствует список аргументов для параметра шаблона шаблона "идентификатор"
Ошибка компилятора C3206 "function": недопустимый шаблон/универсальный аргумент для "template", отсутствует список аргументов шаблона или универсального аргумента для шаблона класса/универсального типа
Ошибка компилятора C3207 Function: недопустимый аргумент шаблона для параметра, ожидаемый шаблон класса
Ошибка компилятора C3208 Function: список параметров шаблона для шаблона класса "template" не соответствует списку параметров шаблона для параметра шаблона "параметр"
Ошибка компилятора C3209 "type": универсальный класс должен быть классом managed/WinRT
Ошибка компилятора C3210 "идентификатор": объявление доступа может применяться только к элементу базового класса
Ошибка компилятора C3211 "function": явная специализация использует синтаксис частичной специализации, вместо этого используйте template <>
Ошибка компилятора C3212 Function: явная специализация элемента шаблона должна быть членом явной специализации.
Ошибка компилятора C3213 базовый класс "class" менее доступен, чем "derived_class"
Ошибка компилятора C3214 "argument": недопустимый аргумент типа для универсального параметра "параметр" универсального типа "type", не соответствует ограничению "ограничение".
Ошибка компилятора C3215 "constraint1": параметр универсального типа уже ограничен параметром "constraint2"
Ошибка компилятора C3216 ограничение должно быть универсальным параметром, а не "типом"
Ошибка компилятора C3217 "parameter": универсальный параметр не может быть ограничен в этом объявлении
Ошибка компилятора C3218 "type": тип не разрешен в качестве ограничения
Ошибка компилятора C3219 "parameter": универсальный параметр не может быть ограничен несколькими не интерфейсами: "type"
Ошибка компилятора C3220 "interface": интерфейс не может иметь progid
Ошибка компилятора C3221 Member: несколько атрибутов default и case не разрешены для элемента.
Ошибка компилятора C32222 Function: не может объявлять аргументы по умолчанию для функций-членов типа Управляемого или WinRT или универсальных функций.
Ошибка компилятора C3223 Свойство: нельзя применить "typeid" к свойству
Ошибка компилятора C3224 "type": не перегруженный универсальный класс принимает аргументы универсального типа number
Ошибка компилятора C3225 Аргумент универсального типа для аргумента "аргумент" не может быть "типом", он должен быть типом значения или дескриптором ссылочного типа
Ошибка компилятора C3226 Объявление шаблона недопустимо внутри универсального объявления
Ошибка компилятора C3227 "type": не удается использовать оператор для выделения универсального типа
Ошибка компилятора C3228 "function": аргумент универсального типа для аргумента не может быть "тип", он должен быть типом значения или типом дескриптора.
Ошибка компилятора C3229 "type": непрямые для параметра универсального типа не допускаются
Ошибка компилятора C3230 Function: аргумент типа шаблона для аргумента "аргумент" не может содержать параметр универсального типа: "type"
Ошибка компилятора C3231 "type": аргумент типа шаблона не может использовать параметр универсального типа
Ошибка компилятора C3232 "parameter": параметр универсального типа не может использоваться в полном имени.
Ошибка компилятора C3233 "type": параметр универсального типа уже ограничен
Ошибка компилятора C3234 универсальный класс нельзя вывести из параметра универсального типа
Ошибка компилятора C3235 "специализация": явной или частичной специализации универсального класса не допускается
Ошибка компилятора C3236 явное создание экземпляра универсального класса не допускается
Ошибка компилятора C3237 "class": универсальный класс не может быть настраиваемым атрибутом
Ошибка компилятора C3238 "type": тип с этим именем уже перенаправлен в сборку "assembly"
Ошибка компилятора C3239 "type": указатель на внутренний или пин-указатель запрещен средой cl language runtime
Ошибка компилятора C3240 "идентификатор": должен быть не перегруженной абстрактной функцией-членом типа
Ошибка компилятора C3241 "member": этот метод не был введен интерфейсом.
Ошибка компилятора C3242 "function": можно переопределить только виртуальные функции явным образом.
Ошибка компилятора C3243 Ни одна из функций перегрузки не была введена интерфейсом.
Ошибка компилятора C3244 Member: этот метод был введен интерфейсом1, а не интерфейсом 2.
Ошибка компилятора C3245 Функция: для использования шаблона переменной требуется список аргументов шаблона
Ошибка компилятора C3246 "class": не может наследоваться от "base_class", так как он был объявлен как "наследование"
Ошибка компилятора C3247 "coclass": coclass не может наследоваться от другого coclass "base_class"
Ошибка компилятора C3248 Является устаревшей. Function: функция, объявленная как "запечатаная", не может быть переопределена функцией "function"
Ошибка компилятора C3249 недопустимая инструкция или под выражение для функции "constexpr" (устаревшая в Visual Studio 2022.)
Ошибка компилятора C3250 "объявление": объявление не допускается вconstexpr теле функции "" (устаревшее в Visual Studio 2022.)
Ошибка компилятора C3251 не может вызывать метод базового класса в экземпляре типа значения (устаревшее в Visual Studio 2022.)
Ошибка компилятора C3252 Function: не удается уменьшить доступность виртуального метода в управляемом или winRT-типе.
Ошибка компилятора C3253 "function": ошибка с явным переопределением
Ошибка компилятора C3254 Function: класс содержит явное переопределение "function", но не является производным от интерфейса, содержащего объявление функции
Ошибка компилятора C3255 "type": не удается динамически выделить этот объект типа значения в собственной куче
Ошибка компилятора C3256 Function: использование переменной не создает константное выражение (устаревшее в Visual Studio 2022.)
Ошибка компилятора C3257 Является устаревшей.
Ошибка компилятора C3258 Является устаревшей.
Ошибка компилятора C3259 Функции 'constexpr' могут иметь только одну return инструкцию (устаревшее в Visual Studio 2022.)
Ошибка компилятора C3260 "token": пропуск непредвиденных маркеров перед лямбда-текстом
Ошибка компилятора C3261 Функция, возвращающая управляемый массив Или WinRT, должна иметь квадратные скобки массива в конце объявления: "identifier(...) []"
Ошибка компилятора C3262 недопустимое индексирование массива: измерения чисел, указанные для числового типа
Ошибка компилятора C3263 Является устаревшей.
Ошибка компилятора C3264 "identifier": конструктор класса не может иметь возвращаемый тип
Ошибка компилятора C3265 не может объявить управляемое "managed_construct" в неуправляемом "unmanaged_construct"
Ошибка компилятора C3266 Function: конструктор класса должен иметь список параметров "void"
Ошибка компилятора C3267 Является устаревшей.
Ошибка компилятора C3268 "function": универсальная функция или функция-член универсального класса не может иметь список параметров переменной
Ошибка компилятора C3269 "function": функция-член управляемого типа или типа WinRT не может быть объявлена с "..."
Ошибка компилятора C3270 Field: FieldOffset атрибут может использоваться только в контекстеStructLayout(LayoutKind::Explicit)
Ошибка компилятора C3271 Поле: недопустимое значение number для атрибута FieldOffset
Ошибка компилятора C3272 Символ: требуется FieldOffsetсимвол, так как он является членом type_name структуры или класса, определенного с помощьюStructLayout(LayoutKind::Explicit)
Ошибка компилятора C3273 "ключевое слово": запрещено в блоке C++ try
Ошибка компилятора C3274 finally / __finally без сопоставления try
Ошибка компилятора C3275 "идентификатор": не удается использовать этот символ без квалификатора (устаревшее в Visual Studio 2022.)
Ошибка компилятора C3276 "ключевое слово": выскочить из finally/__finally блока не определено поведение во время обработки завершения
Ошибка компилятора C3277 не может определить неуправляемую перечисление "перечисление" внутри управляемого типа
Ошибка компилятора C3278 Прямой вызов интерфейса или чистого метода function завершится сбоем во время выполнения.
Ошибка компилятора C3279 частичные и явные специализации, а также явные экземпляры шаблонов классов, объявленных в cli пространстве имен, запрещены
Ошибка компилятора C3280 "function": функция-член управляемого типа не может быть скомпилирована как неуправляемая функция
Ошибка компилятора C3281 "function": глобальный оператор не может иметь управляемый или тип WinRT "type" в сигнатуре
Ошибка компилятора C3282 Списки универсальных параметров могут отображаться только в классах управляемых или WinRT, структурах или функциях
Ошибка компилятора C3283 "interface": интерфейс не может иметь конструктор экземпляра
Ошибка компилятора C3284 Ограничения для универсального параметра "параметр" функции "декларатор" должны соответствовать ограничениям универсального параметра "параметр" функции "декларатор".
Ошибка компилятора C3285 для каждой инструкции нельзя работать с переменными типа "type"
Ошибка компилятора C3286 "описатель": переменная итерации не может содержать описатель класса хранилища
Ошибка компилятора C3287 Тип "type" (возвращаемый типGetEnumerator) должен иметь подходящую общедоступную MoveNext функцию-член и общедоступное Currentсвойство.
Ошибка компилятора C3288 "type": незаконное разыменовывание типа дескриптора
Ошибка компилятора C3289 "идентификатор": тривиальное свойство не может быть индексировано
Ошибка компилятора C3290 "type": тривиальное свойство не может иметь ссылочный тип
Ошибка компилятора C3291 "default": не может быть именем тривиального свойства
Ошибка компилятора C3292 пространство имен CLI нельзя открыть повторно
Ошибка компилятора C3293 "идентификатор": используйте "default" для доступа к свойству по умолчанию (индексатор) для класса "class"
Ошибка компилятора C3294 Является устаревшей.
Ошибка компилятора C3295 Описатель #pragma можно использовать только в области глобального или пространства имен.
Ошибка компилятора C3296 "идентификатор": свойство с этим именем уже существует
Ошибка компилятора C3297 "constraint2": не может использовать "constraint1" в качестве ограничения, так как "constraint1" имеет ограничение значения
Ошибка компилятора C3298 " constraint1": не может использовать "constraint2" в качестве ограничения, так как "constraint2" имеет ограничение ref и "constraint1" имеет ограничение значения
Ошибка компилятора C3299 'function': не удается указать ограничения, они наследуются от базового метода

См. также

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