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


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