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


Предупреждения компилятора Microsoft C/C++ C5000 до C5199

В статьях этого раздела описаны предупреждения компилятора Microsoft C/C++ c5000 по C5199.

Внимание

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

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

Примечание.

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

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

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

Предупреждающие сообщения

Предупреждение Сообщение
Предупреждение компилятора C5022 Type: несколько конструкторов перемещения, указанных
Предупреждение компилятора C5023 Type: несколько операторов назначения перемещения, указанных
Предупреждение компилятора (уровень 4, выключен) C5024 "type": конструктор перемещения был неявно определен как удаленный
Предупреждение компилятора (уровень 4, выключен) C5025 "type": оператор назначения перемещения неявно определен как удаленный
Предупреждение компилятора (уровень 1 и уровень 4, выключен) C5026 "type": конструктор перемещения был неявно определен как удаленный
Предупреждение компилятора (уровень 1 и уровень 4, отключено) C5027 "type": оператор назначения перемещения неявно определен как удаленный
Предупреждение компилятора (уровень 1) C5028 "name": выравнивание, указанное в предыдущем объявлении (число), не указанное в определении
Предупреждение компилятора (уровень 4, выключен) C5029 нестандартное расширение: атрибуты выравнивания в C++ применяются только к переменным, элементам данных и типам тегов
Предупреждение компилятора (уровень 3) C5030 Атрибут "атрибут-имя" не распознается
Предупреждение компилятора (уровень 4, выключен) C5031 #pragma warning(pop): вероятно, несоответствие, всплывающее состояние предупреждения, отправленное в другой файл
Предупреждение компилятора (уровень 4, выключен) C5032 обнаружен #pragma warning(push) без соответствующего #pragma warning(pop)
Предупреждение компилятора (уровень 1) C5033 Класс хранилища больше не является поддерживаемым классом хранилища
Предупреждение компилятора (уровень 5, выключен) C5034 использование встроенного "встроенного" приводит к компиляции имени функции в качестве гостевого кода.
Предупреждение компилятора (уровень 5, выключен) C5035 использование функции "feature" приводит к компиляции имени функции в качестве гостевого кода.
Предупреждение компилятора (уровень 1) C5036 Преобразование указателя функции varargs при компиляции с /hybrid:x86arm64типом 1 на type2
Предупреждение компилятора (ошибка) C5037 "member-function": внестрочный определение элемента шаблона класса не может иметь аргументы по умолчанию
Предупреждение компилятора (уровень 4, выключен) C5038 Член данных "member1" будет инициализирован после элемента данных "member2"
Предупреждение компилятора (уровень 4, выключен) C5039 Function: указатель или ссылка на потенциально вызываемую функцию, переданную в функциюextern C.-EHc Неопределенное поведение может произойти, если эта функция создает исключение.
Предупреждение компилятора (уровень 3) C5040 спецификации динамических исключений допустимы только в C++14 и более ранних версиях; обработка как noexcept(false)
Предупреждение компилятора (уровень 1, выключен) C5041 "definition": определение внестрочно для статического элемента данных constexpr не требуется и не рекомендуется использовать в C++17
Предупреждение компилятора (уровень 3, выключен) C5042 "объявление": объявления функций в области блока не могут быть указаны "inline" в стандартном языке C++; удалите описатель inline
Предупреждение компилятора (уровень 2) C5043 "спецификация": спецификация исключений не соответствует предыдущему объявлению
Предупреждение компилятора (уровень 4) C5044 Аргумент параметра параметра командной строки указывает на путь "path-name", который не существует
Предупреждение компилятора (уровень 4) C5045 Компилятор вставляет устранение рисков Spectre для загрузки памяти, если указан параметр /Qspectre
Предупреждение компилятора (уровень 2) C5046 "function": символ с типом с внутренней компоновкой не определен
Предупреждение компилятора (уровень 1) C5047 Использование нестандартного __if_exists использования с модулями не поддерживается
Предупреждение компилятора (уровень 1) C5048 Использование макроса "macroname" может привести к недетерминированным выходным данным
Предупреждение компилятора (уровень 1) C5049 String: внедрение полного пути может привести к выходу, зависящей от компьютера.
Предупреждение компилятора (уровень 1) C5050 Возможная несовместимая среда при импорте модуля "module_name": проблема
Предупреждение компилятора (уровень 1) C5051 атрибут "attribute-name" требует по крайней мере "стандартного уровня"; Игнорировать
Предупреждение компилятора (уровень 3, выключен) C5052 Ключевое слово "keyword-name" было введено в версии> C++<и требует использования параметра командной строки "option-name"
Предупреждение компилятора (уровень 1) C5053 поддержка "explicit(<expr>)" в C++17 и более ранних версиях является расширением поставщика
Предупреждение компилятора (уровень 4) C5054 оператор "operator-name": устарел между перечислениями разных типов
Предупреждение компилятора (уровень 1) C5055 оператор "operator-name": устарел между перечислениями и типами с плавающей запятой
Предупреждение компилятора (уровень 1) C5056 оператор "operator-name": не рекомендуется использовать для типов массивов
Предупреждение компилятора (уровень 1) C5057 Ссылка на единицу заголовка уже существует. Игнорировать единицу заголовка "header-name"
Предупреждение компилятора (уровень 1) C5058 Ошибка файловой системы: не удается найти файл заголовка file-name для единицы заголовка "unit-name"
Предупреждение компилятора C5059 Проверки среды выполнения и деактивизатор адресов в настоящее время не поддерживаются. Отключение проверок среды выполнения
Предупреждение компилятора (уровень 4) C5060 /Qpar и деактивизатор адресов, которые в настоящее время не поддерживаются, — отключение автоматической параллелизации
Предупреждение компилятора (уровень 4) C5061 Использование оператора запятых в качестве подстрочного выражения не рекомендуется
Предупреждение компилятора (уровень 4) C5062 инициализация прямого списка перечисления между типом 1 и type-2 больше не поддерживается
Предупреждение компилятора (уровень 1) C5063 'std::is_constant_evaluated' всегда вычисляет значение true в выражениях с явной константой
Предупреждение компилятора (уровень 1) C5072 ASAN включен без выбросов информации отладки. Включение сведений об отладке для улучшения отчетов об ошибках ASAN
Предупреждение компилятора (уровень 1) C5081 Безопасное горячее исправление не поддерживается или /GENPROFILE/FASTGENPROFILE /LTCG:PGIотключается безопасное горячее исправление.
Предупреждение компилятора (уровень 1) C5100 __VA_ARGS__ зарезервирован для использования в макросах variadic
Предупреждение компилятора (уровень 1) C5101 Использование директивы препроцессора в списке аргументов макросов, например функции, является неопределенным поведением
Предупреждение компилятора (уровень 1) C5102 игнорировать недопустимое определение макроса командной строки "value"
Предупреждение компилятора (уровень 1) C5103 Вставка "token1" и "token2" не приводит к допустимому маркеру предварительной обработки
Предупреждение компилятора (уровень 1) C5104 в списке замены макросов найдено "string1 string2" (строка1""##строка2) в списке замены макросов?
Предупреждение компилятора (уровень 1) C5105 Расширение макросов, создающее "определенный", имеет неопределенное поведение
Предупреждение компилятора (уровень 1) C5106 Макрос переопределен различными именами параметров
Предупреждение компилятора (уровень 1) C5107 отсутствует символ "char"
Предупреждение компилятора (уровень 1) C5108 __VA_OPT__ зарезервирован для использования в макросах variadic
Предупреждение компилятора (уровень 1) C5109 __VA_OPT__ Для использования в макросе требуется '/Zc:preprocessor'
Предупреждение компилятора (уровень 4, выключен) C5110 __VA_OPT__ является расширением до C++20 или C23

См. также

Компилятор C/C++ и средства сборки ошибок и предупреждений
Предупреждения компилятора C4000 — C5999