Ошибки компилятора с C3400 по C3499
В статьях в этом разделе документации объясняется подмножество сообщений об ошибках, создаваемых компилятором.
Внимание
Компиляторы и средства сборки Visual Studio могут сообщать о многих типах ошибок и предупреждений. После обнаружения ошибки или предупреждения средства сборки могут делать предположения о намерении кода и пытаться продолжить работу, чтобы в одно и то же время сообщалось больше проблем. Если средства делают неверное предположение, последующие ошибки или предупреждения не могут применяться к проекту. При устранении проблем в проекте всегда начинайте с первой зарегистрированной ошибки (или предупреждения) и выполняйте повторную сборку как можно чаще. Одно исправление может привести к возникновению многих последующих ошибок.
Чтобы получить справку по определенному диагностическом сообщению в Visual Studio, выберите его в окне вывода и нажмите клавишу F1 . Visual Studio открывает страницу документации для этой ошибки, если она существует. Вы также можете использовать средство поиска в верхней части страницы, чтобы найти статьи об определенных ошибках или предупреждениях. Или просмотрите список ошибок и предупреждений по инструменту и введите оглавление на этой странице.
Примечание.
Не все ошибки или предупреждения Visual Studio документируются. Во многих случаях диагностическое сообщение предоставляет все доступные сведения. Если вы приземлились на этой странице при использовании F1 , и вы думаете, что сообщение об ошибке или предупреждении требует дополнительного объяснения, сообщите нам об этом. Вы можете использовать кнопки обратной связи на этой странице, чтобы вызвать проблему документации на GitHub. Если вы считаете, что ошибка или предупреждение неправильно, или вы нашли другую проблему с набором инструментов, сообщите о проблеме продукта на сайте Сообщество разработчиков. Вы также можете отправлять отзывы и вводить ошибки в интегрированной среде разработки. В Visual Studio перейдите в строку меню и выберите "Отправить отзыв о > проблеме" или отправьте предложение с помощью справки > по отправке > отзывов > отправить предложение. Некоторые разделы об ошибках компилятора были созданы, которые не создаются компилятором и теперь перенаправляются на эту страницу.
Вы можете найти дополнительную помощь по ошибкам и предупреждениям на форумах Microsoft Learn Q&A . Или найдите номер ошибки или предупреждения на сайте Сообщество разработчиков Visual Studio C++. Вы также можете искать решения в стеке Overflow .
Ссылки на дополнительные справочные материалы и ресурсы сообщества см. в разделе справки и сообщества Visual C++.
Сообщения об ошибках
Ошибка | Сообщение |
---|---|
Ошибка компилятора C3400 | зависимость кругового ограничения, включающая "constraint1" и "constraint2" |
Ошибка компилятора C3401 | "описатель": описатель доступа к сборке недопустим— только "частный" разрешен для шаблонов классов |
Ошибка компилятора C3402 | Function: не может разрешать перегрузки, кроме текущей области |
Ошибка компилятора C3403 | thread_local нельзя использовать с /clr:pure или /clr:safe |
Ошибка компилятора C3404 | "конструктор": непредвиденная синтаксическая ошибка |
Ошибка компилятора C3405 | Function: не удается разрешить перегрузку без полного дескриптора |
Ошибка компилятора C3406 | "ключевое слово": нельзя использовать в описатель сложного типа |
Ошибка компилятора C3407 | Тип нельзя использовать в этом контексте |
Ошибка компилятора C3408 | "атрибут": атрибут не разрешен для определений шаблонов |
Ошибка компилятора C3409 | Пустой блок атрибута не разрешен |
Ошибка компилятора C3410 | "идентификатор": тип явного экземпляра "type" не соответствует типу шаблона переменной "type" |
Ошибка компилятора C3411 | Тип недействителен как размер массива, так как он не является целым типом |
Ошибка компилятора C3412 | "специализация": не удается специализируется на шаблоне в текущей области |
Ошибка компилятора C3413 | "template": недопустимое явное создание экземпляров |
Ошибка компилятора C3414 | Function: импортированная функция-член не может быть определена |
Ошибка компилятора C3415 | несколько разделов "section", найденных с различными атрибутами (значение 0x) |
Ошибка компилятора C3416 | Является устаревшей. |
Ошибка компилятора C3417 | "декларатор": типы значений не могут содержать определяемые пользователем специальные функции-члены |
Ошибка компилятора C3418 | Описатель доступа "описатель" не поддерживается |
Ошибка компилятора C3419 | Является устаревшей. |
Ошибка компилятора C3420 | "function": метод завершения не может быть виртуальным |
Ошибка компилятора C3421 | Function: невозможно вызвать метод завершения для этого класса, так как он недоступен или не существует. |
Ошибка компилятора C3422 | "объявление": несовпадения типов "type" и "type" |
Ошибка компилятора C3423 | Является устаревшей. |
Ошибка компилятора C3424 | Type: не допускается приведение стиля функции к типу массива. |
Ошибка компилятора C3425 | не может вызывать указатель на объект неполного типа "type" |
Ошибка компилятора C3426 | не может вызывать объект неполного типа "type" |
Ошибка компилятора C3427 | "context": "keyword" нельзя использовать с layout_version(число) |
Ошибка компилятора C3428 | "context": "keyword" может применяться только к объявлениям классов или определениям. |
Ошибка компилятора C3429 | "context": "keyword" не может применяться к союзу |
Ошибка компилятора C3430 | Перечисление с заданной областью должно иметь имя |
Ошибка компилятора C3431 | "идентификатор": тип1 не может быть переобъявлен как тип2 |
Ошибка компилятора C3432 | "идентификатор": в объявлении пересылки неуправляемого перечисления должен быть базовый тип |
Ошибка компилятора C3433 | "идентификатор": все объявления перечисления должны иметь один и тот же базовый тип, был "type1" теперь "type2" |
Ошибка компилятора C3434 | "context": значение перечислителя "number" не может быть представлено как "тип", значение равно "число". |
Ошибка компилятора C3435 | Символьный набор "name" не поддерживается. |
Ошибка компилятора C3436 | #pragma setlocale не поддерживается при указании /source-charset, /execution-charset или /utf-8 |
Ошибка компилятора C3437 | #pragma execution_character_set не поддерживается при указании /source-charset, /execution-charset или /utf-8 |
Ошибка компилятора C3438 | "context": "value" не может применяться к классу managed/WinRT |
Ошибка компилятора C3439 | layout_version(число): недопустимый номер версии |
Ошибка компилятора C3440 | "объявление": layout_version(число) несовместимо с предыдущим объявлением |
Ошибка компилятора C3441 | "объявление": "ключевое слово" нельзя применить после определения класса |
Ошибка компилятора C3442 | Инициализация нескольких членов профсоюза: "member1" и "member2" |
Ошибка компилятора C3443 | Инициализатор элементов по умолчанию для класса рекурсивный |
Ошибка компилятора C3444 | Пустой агрегатный класс "class" должен быть инициализирован с "{}" |
Ошибка компилятора C3445 | Инициализация copy-list типа не может использовать явный конструктор |
Ошибка компилятора C3446 | Class: инициализатор элементов по умолчанию не допускается для члена класса значений. |
Ошибка компилятора C3447 | операнда условному оператору ?: имеет тип void, но другой операнд не является выражением броска или типом void. |
Ошибка компилятора C3448 | Число идентификаторов должно соответствовать количеству элементов массива или элементов в объявлении структурированной привязки. |
Ошибка компилятора C3449 | Число идентификаторов должно соответствовать значению std::tuple_size<type-name>::value структурированной привязки типа кортежа, например |
Ошибка компилятора C3450 | "type": не атрибут; не может указать [System::AttributeUsageAttribute ]/[Windows::Foundation::Metadata::AttributeUsageAttribute] |
Ошибка компилятора C3451 | "атрибут": не удается применить неуправляемый атрибут к типу. |
Ошибка компилятора C3452 | член аргумента списка не является константой |
Ошибка компилятора C3453 | "атрибут": атрибут не применяется, так как квалификатор "квалификатор" не соответствует |
Ошибка компилятора C3454 | в объявлении класса [attribute] не допускается |
Ошибка компилятора C3455 | "атрибут": ни один из конструкторов атрибутов не соответствовал аргументам |
Ошибка компилятора C3456 | [source-annotation-attribute] не разрешено в объявлении класса Managed/WinRT |
Ошибка компилятора C3457 | "attribute": атрибут не поддерживает неименованные аргументы |
Ошибка компилятора C3458 | '[атрибут]': атрибут '[атрибут]' уже указан для идентификатора |
Ошибка компилятора C3459 | '[атрибут]': атрибут разрешен только для индексатора классов (свойство индексированного по умолчанию) |
Ошибка компилятора C3460 | "type": можно перенаправить только определяемый пользователем тип |
Ошибка компилятора C3461 | "type": можно перенаправить только управляемый или winRT-тип |
Ошибка компилятора C3462 | "type": можно перенаправить только импортированный тип |
Ошибка компилятора C3463 | "type": тип не разрешен в атрибуте "implements" |
Ошибка компилятора C3464 | Тип вложенного типа нельзя перенаправить |
Ошибка компилятора C3465 | Для использования типа "type" необходимо ссылаться на сборку "assembly" |
Ошибка компилятора C3466 | Type: специализация универсального класса не может быть перенаправлена |
Ошибка компилятора C3467 | "type": этот тип уже переадресован |
Ошибка компилятора C3468 | "type": вы можете перенаправить тип только в сборку: "идентификатор" не является сборкой |
Ошибка компилятора C3469 | Type: универсальный класс нельзя перенаправить |
Ошибка компилятора C3470 | "class": класс не может иметь как индексатор (свойство индексированного по умолчанию), так и оператор[] |
Ошибка компилятора C3471 | Имя модуля нового модуля (задано в командной строке) конфликтует с предыдущим именем модуля |
Ошибка компилятора C3472 | Имя файла нового выходного файла (задано в командной строке) конфликтует с предыдущим именем файла |
Ошибка компилятора C3473 | имя выходного пути или имя модуля не указано. |
Ошибка компилятора C3474 | не удалось открыть выходной файл "filename" |
Ошибка компилятора C3475 | ошибка синтаксиса во входном файле "имя файла" |
Ошибка компилятора C3476 | не удалось открыть файл filename для входных данных |
Ошибка компилятора C3477 | лямбда-строка не может отображаться в неоценимом контексте |
Ошибка компилятора C3478 | "идентификатор": массив не может быть захвачен копией |
Ошибка компилятора C3479 | Заметки SAL в лямбда-кодах не поддерживаются |
Ошибка компилятора C3480 | "переменная": переменная лямбда-записи должна быть из включающей области функции |
Ошибка компилятора C3481 | "идентификатор": переменная записи лямбда-записи не найдена |
Ошибка компилятора C3482 | "this" может быть использован в качестве передаваемого параметра в лямбда-выражении только с нестатической функцией-членом |
Ошибка компилятора C3483 | "идентификатор" уже является частью списка лямбда-записи |
Ошибка компилятора C3484 | синтаксическая ошибка: ожидается "->" перед возвращаемым типом |
Ошибка компилятора C3485 | лямбда-определение не может иметь квалификаторы cv (устаревшее в Visual Studio 2022.) |
Ошибка компилятора C3486 | Параметр для лямбда-файла не может иметь аргумент по умолчанию (устаревший в Visual Studio 2022.) |
Ошибка компилятора C3487 | "type": все возвращаемые выражения должны выводиться на один и тот же тип: ранее он был типом. |
Ошибка компилятора C3488 | "&идентификатор" не допускается, если режим записи по умолчанию является по ссылке |
Ошибка компилятора C3489 | "&идентификатор" требуется, если режим записи по умолчанию выполняется путем копирования |
Ошибка компилятора C3490 | Невозможно изменить идентификатор, так как к нему осуществляется доступ через объект const |
Ошибка компилятора C3491 | "идентификатор": запись копирования не может быть изменена в лямбда-лямбда,не изменяемой |
Ошибка компилятора C3492 | "идентификатор": вы не можете записать члена анонимного объединения |
Ошибка компилятора C3493 | Невозможно неявно записать идентификатор, так как режим записи по умолчанию не указан |
Ошибка компилятора C3494 | Не удается явно записать это, так как включаемом режиме записи он не допускается. |
Ошибка компилятора C3495 | "идентификатор": идентификатор в записи должен быть переменной с автоматическим длительностью хранения, объявленной в области достижения лямбда-лямбда-области. |
Ошибка компилятора C3496 | "this" всегда передается по значению: знак "&" проигнорирован |
Ошибка компилятора C3497 | Невозможно создать экземпляр лямбда-лямбда-объекта. |
Ошибка компилятора C3498 | "идентификатор": невозможно записать переменную с типом managed/WinRT |
Ошибка компилятора C3499 | заданное лямбда-выражение с возвращаемым типом void не может возвращать значение |
См. также
Компилятор C/C++ и средства сборки ошибок и предупреждений
Ошибки компилятора C2000 — C3999, C7000 — C7999