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