Ошибки компилятора с C2400 по C2499
В статьях в этом разделе документации объясняется подмножество сообщений об ошибках, создаваемых компилятором.
Внимание
Компиляторы и средства сборки Visual Studio могут сообщать о многих типах ошибок и предупреждений. После обнаружения ошибки или предупреждения средства сборки могут делать предположения о намерении кода и пытаться продолжить работу, чтобы в одно и то же время сообщалось больше проблем. Если средства делают неверное предположение, последующие ошибки или предупреждения не могут применяться к проекту. При устранении проблем в проекте всегда начинайте с первой зарегистрированной ошибки (или предупреждения) и выполняйте повторную сборку как можно чаще. Одно исправление может привести к возникновению многих последующих ошибок.
Чтобы получить справку по определенному диагностическом сообщению в Visual Studio, выберите его в окне вывода и нажмите клавишу F1 . Visual Studio открывает страницу документации для этой ошибки, если она существует. Вы также можете использовать средство поиска в верхней части страницы, чтобы найти статьи об определенных ошибках или предупреждениях. Или просмотрите список ошибок и предупреждений по инструменту и введите оглавление на этой странице.
Примечание.
Не все ошибки или предупреждения Visual Studio документируются. Во многих случаях диагностическое сообщение предоставляет все доступные сведения. Если вы приземлились на этой странице при использовании F1 , и вы думаете, что сообщение об ошибке или предупреждении требует дополнительного объяснения, сообщите нам об этом. Вы можете использовать кнопки обратной связи на этой странице, чтобы вызвать проблему документации на GitHub. Если вы считаете, что ошибка или предупреждение неправильно, или вы нашли другую проблему с набором инструментов, сообщите о проблеме продукта на сайте Сообщество разработчиков. Вы также можете отправлять отзывы и вводить ошибки в интегрированной среде разработки. В Visual Studio перейдите в строку меню и выберите "Отправить отзыв о > проблеме" или отправьте предложение с помощью справки > по отправке > отзывов > отправить предложение. Некоторые разделы об ошибках компилятора были созданы, которые не создаются компилятором и теперь перенаправляются на эту страницу.
Вы можете найти дополнительную помощь по ошибкам и предупреждениям на форумах Microsoft Learn Q&A . Или найдите номер ошибки или предупреждения на сайте Сообщество разработчиков Visual Studio C++. Вы также можете искать решения в стеке Overflow .
Ссылки на дополнительные справочные материалы и ресурсы сообщества см. в разделе справки и сообщества Visual C++.
Сообщения об ошибках
Ошибка | Сообщение |
---|---|
Ошибка компилятора C2400 | встроенная ошибка синтаксиса сборщика в контексте; найдена "token" |
Ошибка компилятора C2401 | "идентификатор": регистрация должна быть базовой в контексте. |
Ошибка компилятора C2402 | "идентификатор": регистр должен быть индексом в контексте. |
Ошибка компилятора C2403 | "идентификатор": регистрация должна быть базовой или индексной в контексте" |
Ошибка компилятора C2404 | "идентификатор": незаконный регистр в контексте |
Ошибка компилятора C2405 | недопустимая ссылка на короткий переадресации с смещением |
Ошибка компилятора C2406 | "идентификатор": имя не определено в контексте |
Ошибка компилятора C2407 | недопустимая регистрация float в контексте |
Ошибка компилятора C2408 | недопустимый тип оператора PTR в контексте |
Ошибка компилятора C2409 | недопустимый тип, используемый в качестве оператора в контексте |
Ошибка компилятора C2410 | "идентификатор": неоднозначное имя члена в контексте |
Ошибка компилятора C2411 | "идентификатор": незаконный член структуры или объединения в контексте |
Ошибка компилятора C2412 | "label": метка без учета регистра |
Ошибка компилятора C2413 | "идентификатор": недопустимый размер выравнивания |
Ошибка компилятора C2414 | незаконное число операндов |
Ошибка компилятора C2415 | неправильный тип операнда |
Ошибка компилятора C2416 | Атрибут "атрибут" нельзя применить в этом контексте |
Ошибка компилятора C2417 | деление на ноль в контексте |
Ошибка компилятора C2418 | не удается удалить файл браузера: имя файла |
Ошибка компилятора C2419 | mod by zero in 'context' |
Ошибка компилятора C2420 | "идентификатор": недопустимый символ в контексте |
Ошибка компилятора C2421 | Оператор PTR, используемый с регистрацией в контексте |
Ошибка компилятора C2422 | недопустимая переопределение сегмента в контексте |
Ошибка компилятора C2423 | "number": незаконное масштабирование |
Ошибка компилятора C2424 | "token": неправильное выражение в контексте |
Ошибка компилятора C2425 | "token": неконстантное выражение в контексте |
Ошибка компилятора C2426 | "token": недопустимый оператор в контексте |
Ошибка компилятора C2427 | "class": не удается определить класс в этой области |
Ошибка компилятора C2428 | Operation: не разрешено для операнда типа 'bool ' |
Ошибка компилятора C2429 | Для функции языка требуется флаг компилятора "параметр компилятора" |
Ошибка компилятора C2430 | несколько регистров индекса в контексте |
Ошибка компилятора C2431 | недопустимый регистр индекса в контексте |
Ошибка компилятора C2432 | недопустимая ссылка на 16-разрядные данные в контексте |
Ошибка компилятора C2433 | "идентификатор": "модификатор" не разрешен для объявлений данных |
Ошибка компилятора C2434 | "символ": символ, объявленный с __declspec(process) не может быть динамически инициализирован в /clr:pure режиме |
Ошибка компилятора C2435 | Var: динамическая инициализация требует управляемой CRT, не может компилироваться с /clr:safe |
Ошибка компилятора C2436 | "идентификатор": функция-член или вложенный класс в списке инициализатора конструктора |
Ошибка компилятора C2437 | "идентификатор": уже инициализирован |
Ошибка компилятора C2438 | "идентификатор": не удается инициализировать данные статического класса с помощью конструктора |
Ошибка компилятора C2439 | "идентификатор": не удалось инициализировать член |
Ошибка компилятора C2440 | "преобразование": не удается преобразовать из "type_1" в "type_2" |
Ошибка компилятора C2441 | "переменная": символ, объявленный с const __declspec(process) параметром /clr:pure mode |
Ошибка компилятора C2442 | "идентификатор": вложенное определение пространства имен не может быть встроенным или иметь атрибуты |
Ошибка компилятора C2443 | Конфликт размера операнда |
Ошибка компилятора C2444 | "идентификатор": используется прототип ANSI, найден "type", ожидаемый "{" или ";" |
Ошибка компилятора C2446 | Оператор: преобразование из "type_1" в "type_2" не выполняется. |
Ошибка компилятора C2447 | "{": отсутствует заголовок функции (старый формальный список?) |
Ошибка компилятора C2448 | "идентификатор": инициализатор стиля функции, как представляется, является определением функции |
Ошибка компилятора C2449 | найден "{" в области файла (отсутствует заголовок функции?) |
Ошибка компилятора C2450 | Выражение switch типа "type" является недопустимым |
Ошибка компилятора C2451 | условное выражение типа "type" является незаконным |
Ошибка компилятора C2452 | "type": недопустимый тип источника для safe_cast |
Ошибка компилятора C2453 | "type": недопустимый тип целевого объекта для safe_cast |
Ошибка компилятора C2454 | "идентификатор": имя псевдонима пространства имен нельзя объявить с помощью квалифицированного имени. |
Ошибка компилятора C2455 | Класс ссылок WinRT, производный от импортированного базового класса, не может быть абстрактным. |
Ошибка компилятора C2456 | Класс "class" невидимый класс ссылок не может иметь открытый видимый конструктор. Запечатайте класс или укажите конструктор как '', 'internal protected private ' или 'private ' вместо него. |
Ошибка компилятора C2457 | "идентификатор": предопределенный макрос не может отображаться за пределами тела функции |
Ошибка компилятора C2458 | "идентификатор": переопределение в определении |
Ошибка компилятора C2459 | "идентификатор": определяется; не может добавляться в качестве анонимного члена. |
Ошибка компилятора C2460 | "identifier_1": использует "identifier_2", который определяется |
Ошибка компилятора C2461 | Класс: синтаксис конструктора, отсутствующий формальных параметров |
Ошибка компилятора C2462 | "идентификатор": не удается определить тип в "new-expression" |
Ошибка компилятора C2464 | Type: не может использовать "new " для выделения ссылки |
Ошибка компилятора C2465 | Невозможно определить анонимный тип в пределах круглых скобок |
Ошибка компилятора C2466 | Не удается выделить массив константного размера 0 |
Ошибка компилятора C2467 | незаконное объявление анонимного "user_defined_type" |
Ошибка компилятора C2468 | Конструктор не может быть 'constexpr ' в классе или структуре с виртуальными базовыми классами |
Ошибка компилятора C2469 | 'new ': не удается выделить объекты 'void ' |
Ошибка компилятора C2470 | "function": выглядит как определение функции, но отсутствует список параметров; пропуск видимого тела |
Ошибка компилятора C2471 | не удается обновить базу данных программы "filename" |
Ошибка компилятора C2472 | Невозможно создать функцию в управляемом коде: message; скомпилировать с помощью /clr для создания смешанного образа. |
Ошибка компилятора C2473 | "идентификатор": выглядит как определение функции, но отсутствует список параметров. |
Ошибка компилятора C2474 | "идентификатор": отсутствует смежная точка с запятой, может быть ключевым словом или идентификатором. |
Ошибка компилятора C2475 | "identifier": redefinition; Несоответствие описателя 'constexpr ' |
Ошибка компилятора C2477 | "member": статический член данных не может быть инициализирован с помощью производного класса |
Ошибка компилятора C2478 | объявление несовместимо с "экземпляром" |
Ошибка компилятора C2479 | "идентификатор":allocate( ) "" действителен только для элементов данных статической экстентности |
Ошибка компилятора C2480 | "идентификатор":thread "" действителен только для элементов данных статической экстентности |
Ошибка компилятора C2481 | "идентификатор": допустимо только для статических элементов и переменных в пространстве имен или области блока. thread_local |
Ошибка компилятора C2482 | "идентификатор": динамическая инициализация локальных данных потока не разрешена в управляемом коде ИЛИ WINRT |
Ошибка компилятора C2483 | "идентификатор": объект с деструктором или не агрегированным типом не может быть объявлен с длительностью хранилища потоков в коде managed/WINRT |
Ошибка компилятора C2485 | "идентификатор": нераспознанный расширенный атрибут |
Ошибка компилятора C2486 | '__LOCAL_SIZE ' разрешен только в функции с атрибутом 'naked ' |
Ошибка компилятора C2487 | "identifier": член класса интерфейса dll не может быть объявлен с помощью интерфейса dll |
Ошибка компилятора C2488 | "идентификатор": "naked " может применяться только к определениям функций, не являющихся членами |
Ошибка компилятора C2489 | "идентификатор": инициализированная автоматическая или регистрируемая переменная не разрешена в области функций в функции "голая" |
Ошибка компилятора C2490 | "ключевое слово" не разрешено в функции с атрибутом 'naked ' |
Ошибка компилятора C2491 | "identifier": определение функции dllimport запрещено |
Ошибка компилятора C2492 | "переменная": данные с длительностью хранилища потоков могут не иметь интерфейса dll |
Ошибка компилятора C2493 | недопустимая форма __based |
Ошибка компилятора C2494 | "ключевое слово" нельзя вызывать из выражения фильтра или __finally /finally блока |
Ошибка компилятора C2495 | "идентификатор": "__declspec(noexcept) " может применяться только к объявлениям или определениям функций |
Ошибка компилятора C2496 | "identifier": "selectany " может применяться только к элементам данных с внешней компоновкой |
Ошибка компилятора C2497 | "идентификатор": "implementation_key " может применяться только к объявлениям функций |
Ошибка компилятора C2498 | "function": "novtable " может применяться только к объявлениям классов или определениям |
Ошибка компилятора C2499 | "class": класс не может быть собственным базовым классом |
См. также
Компилятор C/C++ и средства сборки ошибок и предупреждений
Ошибки компилятора C2001 — C3999, C7000 — C7999