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


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

В статьях в этом разделе описаны предупреждения компилятора Microsoft C/C++ C4400-C4599.

Внимание

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

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

Примечание.

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

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

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

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

Предупреждение Сообщение
Предупреждение компилятора (уровень 1) C4600 #pragma "имя макроса": ожидается допустимая непустая строка
Предупреждение компилятора (уровень 4) C4400 "type": квалификаторы const/volatile в этом типе не поддерживаются
Предупреждение компилятора (уровень 1) C4401 Bitfield: элемент — битовое поле
Предупреждение компилятора (уровень 1) C4402 должен использовать оператор PTR
Предупреждение компилятора (уровень 1) C4403 незаконный оператор PTR
Предупреждение компилятора (уровень 3) C4404 период в директиве игнорируется
Предупреждение компилятора (уровень 1) C4405 "идентификатор": идентификатор зарезервированного слова
Предупреждение компилятора (уровень 1) C4406 операнд по директиве игнорируется
Предупреждение компилятора (уровень 1) C4407 Приведение между разными представлениями указателя на члены компилятор может создать неправильный код
Предупреждение компилятора (уровень 4) C4408 анонимная "структура|union" не объявляла никаких членов данных
Предупреждение компилятора (уровень 1) C4409 недопустимый размер инструкций
Предупреждение компилятора (уровень 1) C4410 недопустимый размер операнда
Предупреждение компилятора (уровень 1) C4411 "идентификатор": символ разрешается для регистра смещения
Предупреждение компилятора (уровень 2) C4412 "function": сигнатура функции содержит тип "type"; Объекты C++ небезопасны для передачи между чистым кодом и смешанным или собственным кодом.
Предупреждение компилятора C4413 "classname::member": элемент ссылки инициализируется во временный элемент, который не сохраняется после выхода конструктора
Предупреждение компилятора (уровень 3) C4414 "function": короткий переход к функции, преобразованной в близкое
Предупреждение компилятора (уровень 1) C4415 дубликаты __declspec(code_seg('name'))
Предупреждение компилятора (уровень 1) C4416 __declspec(code_seg(...)) содержит пустую строку: игнорируется
Предупреждение компилятора (уровень 1) C4417 Явное создание экземпляра шаблона не может иметь __declspec(code_seg(...)): игнорируется
Предупреждение компилятора (уровень 1) C4418 __declspec(code_seg(...)) игнорируется в перечислении
Предупреждение компилятора (уровень 3) C4419 Символ не действует при применении к классу private ref класса "class".
Предупреждение компилятора (уровень 1) C4420 "проверка ed_operator": оператор недоступен, вместо этого используется оператор "оператор"; может быть скомпрометировано время выполнения проверка
Предупреждение компилятора (уровень 3) C4421 "parameter": ссылочный параметр в повторной функции потенциально небезопасн
Предупреждение компилятора (уровень 3) C4423 "std::bad_alloc": будет поймано по классу ('type') по номеру строки
Предупреждение компилятора (уровень 3) C4424 catch for 'type1' предшествует "type2" в номере строки; непредсказуемое поведение может привести к возникновению ошибки std::bad_alloc
Предупреждение компилятора (уровень 1) C4425 Заметка SAL не может быть применена к "..."
Предупреждение компилятора (уровень 1) C4426 Флаги оптимизации изменились после включения заголовка, могут быть вызваны #pragma optimize()
Предупреждение компилятора (уровень 1) C4427 Оператор: переполнение в константном делении, неопределенное поведение
Предупреждение компилятора (уровень 4) C4429 возможное неполное или неправильно сформированное универсальное имя-символ
Предупреждение компилятора (ошибка) C4430 отсутствует спецификатор типа — предполагается int. Примечание. C++ не поддерживает значение по умолчанию int
Предупреждение компилятора (уровень 4) C4431 отсутствует спецификатор типа — предполагается int. Примечание. C++ не поддерживает тип int по умолчанию
Предупреждение компилятора (уровень 4) C4434 Статический конструктор должен иметь частные специальные возможности; изменение частного доступа
Предупреждение компилятора (уровень 4) C4435 "derived_class": макет объекта в /vd2 изменится из-за виртуальной базы "base_class"
Предупреждение компилятора (уровень 1) C4436 dynamic_cast из виртуальной базы "base_class" в "derived_class" в конструкторе или деструкторе может завершиться сбоем с частично созданным объектом
Предупреждение компилятора (уровень 4) C4437 dynamic_cast из виртуальной базы "base_class" в "derived_class" может завершиться ошибкой в некоторых контекстах.
Предупреждение компилятора C4438 "function": нельзя безопасно вызывать в режиме /await:clrcompat. Если вызовы функции в CLR могут привести к повреждению головы СРЕДЫ CLR
Предупреждение компилятора (ошибка) C4439 Function: определение функции с управляемым типом в сигнатуре должно иметь соглашение о вызове __clrcall
Предупреждение компилятора (уровень 1) C4440 Переопределение соглашения о вызове из "calling_convention1" в "calling_convenction2" игнорируется
Предупреждение компилятора (уровень 1) C4441 Соглашение о вызове "calling_convention1" игнорируется; Вместо этого используется calling_convention2
Предупреждение компилятора (уровень 1) C4442 внедренный терминатор NULL в аргументе __annotation. Значение будет усечено.
Предупреждение компилятора (уровень 1) C4443 Ожидается, что параметр pragma будет иметь значение "0", "1" или "2"
Предупреждение компилятора (уровень 3) C4444 "идентификатор": верхний уровень "__unaligned" не реализован в этом контексте
Предупреждение компилятора (уровень 1) C4445 Function: в типе WinRT|managed не может быть частным виртуальным методом.
Предупреждение компилятора (уровень 1) C4446 Type: не удается сопоставить член name1 с этим типом из-за конфликта с именем типа. Метод был переименован в name2
Предупреждение компилятора (уровень 1) C4447 Сигнатура main, найденная без потоковой модели. Рассмотрите возможность использования int main(Platform::Array<Platform::String^>^ args).
Предупреждение компилятора C4448 Тип 1 не имеет интерфейса по умолчанию, указанного в метаданных. Выбор типа 2, который может завершиться ошибкой во время выполнения.
Предупреждение компилятора C4449 "type" неуправляемый тип должен быть помечен как "[WebHostHidden]"
Предупреждение компилятора C4450 Тип1 должен быть помечен как "[WebHostHidden], так как он является производным от типа2.
Предупреждение компилятора (уровень 4) C4451 "classname1::member": использование класса ref "classname2::member" внутри этого контекста может привести к недопустимому маршалингу объекта в контекстах
Предупреждение компилятора (уровень 1) C4452 "идентификатор": общедоступный тип не может находиться в глобальной область. Он должен находиться в пространстве имен, которое является дочерним именем выходного winmd-файла.
Предупреждение компилятора (уровень 1) C4453 "type": тип "[WebHostHidden]" не должен использоваться на опубликованной поверхности общедоступного типа, который не является "[WebHostHidden]"
Предупреждение компилятора (уровень 1) C4454 Функция перегружена более чем числом входных параметров без указания [DefaultOverload]. Выбор объявления в качестве перегрузки по умолчанию
Предупреждение компилятора (уровень 1) C4455 Оператор оператора: идентификаторы суффикса литерала, которые не начинаются с подчеркивания, зарезервированы
Предупреждение компилятора (уровень 4) C4456 объявление идентификатора скрывает предыдущее локальное объявление
Предупреждение компилятора (уровень 4) C4457 Объявление идентификатора скрывает параметр функции
Предупреждение компилятора (уровень 4) C4458 объявление "идентификатор" скрывает член класса
Предупреждение компилятора (уровень 4) C4459 Объявление идентификатора скрывает глобальное объявление
Предупреждение компилятора (уровень 4) C4460 Оператор WinRT|managed 'operator', имеет параметр, переданный по ссылке. Оператор WinRT|managed 'operator' имеет разные семантики от оператора C++ "cpp_operator", планируется передать по значению?
Предупреждение компилятора (уровень 1) C4461 "classname": этот класс имеет метод завершения "!метод завершения, но не деструктор "~dtor"
Предупреждение компилятора (уровень 1, ошибка) C4462 Type: не удается определить GUID типа. Программа может завершиться ошибкой во время выполнения.
Предупреждение компилятора (уровень 4) C4463 Переполнения; назначение "value" бит-полю, которое может содержать только значения из "min_value" в "max_value"
Предупреждение компилятора (уровень 4) C4464 относительный путь включения содержит ".".
Предупреждение компилятора C4466 Не удалось выполнить коутин кучи элизион
Предупреждение компилятора (уровень 1) C4467 Использование атрибутов ATL не рекомендуется
Предупреждение компилятора (уровень 1) C4468 Атрибут [[fallthrough]] должен следовать метка case или default метка
Предупреждение компилятора (уровень 1) C4470 Элемент управления с плавающей запятой игнорируется в /clr
Предупреждение компилятора (уровень 4) C4471 "перечисление": объявление пересылки без область d перечисления должно иметь базовый тип (предполагается int).
Предупреждение компилятора (уровень 1) C4472 Идентификатор — это собственный перечисление: добавьте описатель доступа (частный/общедоступный) для объявления перечисления WinRT|managed
Предупреждение компилятора (уровень 1) C4473 Function: недостаточно аргументов, переданных для строки форматирования
Предупреждение компилятора (уровень 3) C4474 Function: слишком много аргументов, переданных для строки форматирования
Предупреждение компилятора (уровень 3) C4475 Function: модификатор длины "модификатор" не может использоваться с символом поля типа "символ" в описатель формата
Предупреждение компилятора (уровень 3) C4476 "function" : символ поля неизвестного типа "символ" в описатель формата
Предупреждение компилятора (уровень 1) C4477 "function": строка форматирования "string" требует аргумент типа "type", но номер аргумента variadic имеет тип "type"
Предупреждение компилятора (уровень 1) C4478 Function: позиционные и непозиционные заполнители не могут быть смешанными в одной строке формата.
Предупреждение компилятора (ошибка) C4480 нестандартное расширение, используемое: указание базового типа для перечисления
Предупреждение компилятора (уровень 4) C4481 нестандартное расширение, используемое: переопределение описателя "ключевое слово"
Предупреждение компилятора C4482 нестандартное расширение, используемое: перечисление "перечисление", используемое в квалифицированном имени
Предупреждение компилятора (уровень 1, ошибка) C4483 синтаксическая ошибка: ожидаемая ключевое слово C++
Предупреждение компилятора (ошибка) C4484 "override_function": соответствует методу класса base ref "base_class_function", но не помечен как "virtual", "new" или "override"; Предполагается, что "new" (и не "virtual" )
Предупреждение компилятора (ошибка) C4485 "override_function": соответствует методу класса base ref "base_class_function", но не помечен как "new" или "override"; Предполагается , что "new" (и "virtual")
Предупреждение компилятора (уровень 1) C4486 "function": частный виртуальный метод класса ссылок или класса значений должен быть помечен как "запечатанный".
Предупреждение компилятора (уровень 4) C4487 "derived_class_function": соответствует унаследованным не-виртуальным методу "base_class_function", но не имеет явного метки "new"
Предупреждение компилятора (уровень 1) C4488 Function: требует ключевое слово "ключевое слово" для реализации метода интерфейса "interface_method".
Предупреждение компилятора (уровень 1) C4489 "описатель": не разрешено для метода интерфейса "method"; переопределение описателей разрешено только для методов класса ссылок и классов значений.
Предупреждение компилятора (уровень 1) C4490 "override": неправильное использование описателя переопределения; "function" не соответствует методу базового класса ref
Предупреждение компилятора (уровень 1) C4491 "name": имеет недопустимый формат версии IDL
Предупреждение компилятора (уровень 1, ошибка) C4492 Function1: соответствует методу класса base ref "function2", но не помечен как "переопределение".
Предупреждение компилятора (уровень 3, ошибка) C4493 Выражение delete не действует, так как деструктор типа не имеет специальных возможностей "public"
Предупреждение компилятора (уровень 1) C4494 "function" : игнорируя __declspec(распределитель), так как тип возвращаемого значения функции не является указателем или ссылкой
Предупреждение компилятора C4495 нестандартное расширение "__super", используемое: замена явным именем базового класса
Предупреждение компилятора C4496 нестандартное расширение "для каждого", используемое: замена оператором ranged-for
Предупреждение компилятора C4497 нестандартное расширение "запечатанный" используется: замените на "final"
Предупреждение компилятора C4498 нестандартное расширение, используемое: extension
Предупреждение компилятора (уровень 4) C4499 "function": явная специализация не может иметь класс хранилища (игнорируется)"
Предупреждение компилятора (уровень 1) C4502 Спецификация компоновки требует использования ключевое слово "extern" и должна предшествовать всем другим описателям
Предупреждение компилятора (уровень 1) C4503 "идентификатор": превышена длина украшенного имени, имя усечено
Предупреждение компилятора (уровень 4) C4505 "function": удалена локальная функция unreferenced
Предупреждение компилятора (уровень 1) C4506 определение встроенной функции "function" не определяется
Предупреждение компилятора (уровень 1) C4508 Function: функция должна возвращать значение; Предполагается тип возвращаемого значения void
Предупреждение компилятора C4509 нестандартное расширение, используемое: функция использует SEH и object имеет деструктор
Предупреждение компилятора (уровень 4) C4510 "class": конструктор по умолчанию был неявно определен как удаленный
Предупреждение компилятора (уровень 3) C4511 Class: конструктор копирования был неявно определен как удаленный
Предупреждение компилятора (уровень 4) C4512 "class": оператор назначения неявно определен как удаленный
Предупреждение компилятора (уровень 4) C4513 Класс: деструктор был неявно определен как удаленный
Предупреждение компилятора (уровень 4) C4514 "function": удалена встроенная функция без ссылок
Предупреждение компилятора (уровень 4) C4515 "пространство имен": пространство имен использует себя
Предупреждение компилятора (уровень 4) C4516 "class::symbol": объявления доступа устарели; элементы using-declarations обеспечивают лучшую альтернативу
Предупреждение компилятора (уровень 4) C4517 объявления доступа устарели; элементы using-declarations обеспечивают лучшую альтернативу
Предупреждение компилятора (уровень 1) C4518 "описатель": непредвиденное здесь класс хранилища или описатель типов; игнорируется
Предупреждение компилятора (ошибка) C4519 Аргументы шаблона по умолчанию разрешены только в шаблоне класса
Предупреждение компилятора (уровень 3) C4521 Class: несколько конструкторов копирования, указанных
Предупреждение компилятора (уровень 3) C4522 Class: несколько операторов назначения, указанных
Предупреждение компилятора (уровень 3) C4523 Class: несколько деструкторов, указанных
Предупреждение компилятора (уровень 1) C4526 "function": статическая функция-член не может переопределить виртуальную функцию "виртуальная функция" переопределенной, виртуальная функция будет скрыта
Предупреждение компилятора (уровень 1) C4530 Используемый обработчик исключений C++, но семантика очистки не включена. Указание /EHsc
Предупреждение компилятора (уровень 1) C4531 Обработка исключений C++ недоступна в Windows CE. Использование структурированной обработки исключений
Предупреждение компилятора (уровень 1) C4532 "продолжить": выскочить из блока "__finally/finally" имеет неопределенное поведение во время обработки завершения
Предупреждение компилятора (уровень 1) C4533 инициализация переменной пропускается меткой goto.
Предупреждение компилятора (уровень 3) C4534 Конструктор не будет конструктором по умолчанию для класса или структуры "идентификатор" из-за аргумента по умолчанию
Предупреждение компилятора (уровень 3) C4535 Для вызова _set_se_translator() требуется /EHa
Предупреждение компилятора (уровень 4) C4536 "typename": имя типа превышает ограничение метаданных символов "character_limit"
Предупреждение компилятора (уровень 1) C4537 "object": "." применяется к типу, отличному от определяемого пользователем типа
Предупреждение компилятора (уровень 3) C4538 "type": квалификаторы const/volatile в этом типе не поддерживаются
Предупреждение компилятора (уровень 1) C4540 dynamic_cast, используемый для преобразования в недоступную или неоднозначную базу; Тест во время выполнения завершится ошибкой ('type1' to 'type2')
Предупреждение компилятора (уровень 1) C4541 "идентификатор", используемый для полиморфного типа "type" с /GR-; непредсказуемое поведение может привести к результату
Предупреждение компилятора (уровень 1) C4542 Пропуск создания объединенного текстового файла, не может записать файл типа файла : "проблема": сообщение
Предупреждение компилятора (уровень 3) C4543 Внедренный текст, подавляемый атрибутом "no_injected_text"
Предупреждение компилятора (уровень 1) C4544 "объявление": аргумент шаблона по умолчанию игнорируется в этом объявлении шаблона
Предупреждение компилятора (уровень 1) C4545 вычисление выражения перед запятой дает функцию, в которой отсутствует список аргументов
Предупреждение компилятора (уровень 1) C4546 в вызове функции перед запятой отсутствует список аргументов
Предупреждение компилятора (уровень 1) C4547 Оператор "operator": оператор до запятой не имеет эффекта; ожидаемый оператор с побочным эффектом
Предупреждение компилятора (уровень 1) C4548 выражение перед запятой не имеет результата; требуется выражение с побочным действием
Предупреждение компилятора (уровень 1) C4549 "оператор": оператор до запятой не действует; вы намерены "оператор"?
Предупреждение компилятора (уровень 1) C4550 выражение вычисляет функцию, которая отсутствует список аргументов
Предупреждение компилятора (уровень 1) C4551 Список отсутствующих аргументов вызова функции
Предупреждение компилятора (уровень 1) C4552 "operator": оператор не имеет эффекта; ожидаемый оператор с побочным эффектом
Предупреждение компилятора (уровень 1) C4553 "оператор": оператор не действует; вы намерены "оператор"?
Предупреждение компилятора (уровень 3) C4554 C4554 Оператор: приоритет оператора проверка для возможной ошибки; используйте круглые скобки для уточнения приоритета
Предупреждение компилятора (уровень 1) C4555 выражение не имеет результата; требуется выражение с побочным действием
Предупреждение компилятора (уровень 1) C4556 значение встроенного аргумента интерпретации "value" выходит за пределы диапазона "lower_bound - upper_bound"
Предупреждение компилятора (уровень 3) C4557 "__assume" содержит эффект "эффект"
Предупреждение компилятора (уровень 1) C4558 значение операнда "value" выходит за пределы диапазона "lower_bound - upper_bound"
Предупреждение компилятора (уровень 4) C4559 "function": redefinition; функция получает __declspec(модификатор)
Предупреждение компилятора (уровень 1) C4561 "__fastcall" несовместим с параметром "/clr": преобразование в "__stdcall"
Предупреждение компилятора (уровень 4) C4562 Полностью прототипные функции требуются с параметром "/clr": преобразование "()" в "(void)"
Предупреждение компилятора (уровень 4) C4564 Метод "method" класса "classname" определяет неподдерживаемый параметр по умолчанию "параметр"
Предупреждение компилятора (уровень 4) C4565 "function": redefinition; символ был ранее объявлен с __declspec(модификатор)
Предупреждение компилятора (уровень 1) C4566 символ, представленный универсальным именем char, не может быть представлен на текущей кодовой странице (число)
Предупреждение компилятора (уровень 1) C4568 Function: не совпадают с подписью явного переопределения.
Предупреждение компилятора (уровень 3) C4569 Function: не совпадают с подписью явного переопределения.
Предупреждение компилятора (уровень 3) C4570 Type: не объявлен как абстрактный, но имеет абстрактные функции.
Предупреждение компилятора (уровень 4) C4571 Информационные: семантика catch(...) изменилась с момента изменения Visual C++ 7.1; структурированные исключения (SEH) больше не перехватываются
Предупреждение компилятора (уровень 1) C4572 Атрибут [ParamArray] не рекомендуется использовать в /clr, используйте "..." Вместо
Предупреждение компилятора (уровень 1) C4573 Использование лямбда-функции требует, чтобы компилятор захватывал "это", но текущий режим отслеживания по умолчанию не разрешает его
Предупреждение компилятора (уровень 4) C4574 "Идентификатор" определен как "0": означает ли вы использовать "#if идентификатор"?
Предупреждение компилятора (уровень 1) C4575 "__vectorcall" несовместим с параметром "/clr": преобразование в "__stdcall"
Предупреждение компилятора (уровень 1, ошибка) C4576 Круглые скобки, за которым следует список инициализатора, — это синтаксис преобразования нестандартного типа.
Предупреждение компилятора (уровень 1, отключение) C4577 "noexcept" используется без указанного режима обработки исключений; завершение исключения не гарантируется. Указание /EHsc
Предупреждение компилятора (уровень 1, ошибка) C4578 "abs": преобразование из типа1 в "type2", возможная потеря данных (означает ли вы вызвать "function" или #include <cmath>?)
Предупреждение компилятора (уровень 3) C4580 использовать [attribute] не рекомендуется; вместо этого в качестве базового класса укажите System::Attribute или Platform::Metadata
Предупреждение компилятора (уровень 1) C4581 нерекомендуемое поведение: "строка", замененная "string" для обработки атрибута
Предупреждение компилятора (уровень 4) C4582 "type": конструктор неявно вызывается
Предупреждение компилятора (уровень 4) C4583 Тип: деструктор неявно называется
Предупреждение компилятора (уровень 1) C4584 "class1": базовый класс "class2" уже является базовым классом класса "class3"
Предупреждение компилятора (уровень 1, ошибка) C4585 "class": класс WinRT "public ref class" должен быть запечатан или производным от существующего неуправляемого класса
Предупреждение компилятора (уровень 1, ошибка) C4586 "type": общедоступный тип не может быть объявлен в пространстве имен верхнего уровня под названием "Windows"
Предупреждение компилятора (уровень 1) C4587 "anonymous_structure": изменение поведения: конструктор больше не вызывается неявно
Предупреждение компилятора (уровень 1) C4588 "anonymous_structure": изменение поведения: деструктор больше не вызывается неявно
Предупреждение компилятора (уровень 4) C4589 Конструктор абстрактного класса "class1" игнорирует инициализатор для виртуального базового класса "class2"
Предупреждение компилятора (уровень 1) C4591 Предел глубины вызова constexpr превышен (/constexpr:depth<NU МБ ER>)
Предупреждение компилятора (уровень 3) C4592 "function": "constexpr" сбой оценки вызова; функция будет вызываться во время выполнения.
Предупреждение компилятора (уровень 1) C4593 Function: 'function': 'constexpr' call step limit of 'limit' превышен; используйте /constexpr:step<NU МБ ER> для увеличения предела
Предупреждение компилятора (уровень 3) C4594 Тип: деструктор не будет неявно вызываться, если создается исключение
Предупреждение компилятора (уровень 1) C4595 Type: изменение поведения: деструктор больше не будет вызываться неявно, если создается исключение.
Предупреждение компилятора (уровень 4) C4596 "идентификатор": незаконное полное имя в объявлении члена
Предупреждение компилятора (ошибка) C4597 неопределенное поведение: смещение, примененное к члену виртуальной базы
Предупреждение компилятора (уровень 1 и уровень 3) C4598 "#include "header": номер заголовка в предварительно компилированного заголовка не соответствует текущей компиляции в этой позиции.
Предупреждение компилятора (уровень 3) C4599 "Путь флага": номер номера аргументакомандной строки не соответствует предварительно компилированного заголовка

См. также

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