Visual Studio, предупреждающая C4996

Я получаю соблюдающее предупреждение

warning C4996: 'std::_Uninitialized_copy0': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' c:\program files\microsoft visual studio 10.0\vc\include\memory 348

Я, может казаться, не нахожу информации, которая помогла бы бороться с этим предупреждением. Путем рассмотрения вывода кажется, что это предупреждение имеет некоторое отношение к Повышению. Signals2 и auto_buffer.

Действительно ли это безопасно проигнорировать, или я могу удалить его так или иначе?

34
задан Anthony 23 July 2010 в 11:02
поделиться

1 ответ

Во-первых, я хотел бы сказать, что мне очень нравятся предупреждения компилятора. Я вызываю gcc с помощью -Wall -Wextra.

Однако предупреждение MSVC C4996 в основном срабатывает при полностью допустимом коде. Изменения, предлагаемые в тексте предупреждения, часто серьезно ставят под угрозу переносимость кода, но никогда существенно не улучшают качество кода. Поэтому я регулярно подавляю это предупреждение в своих проектах MSVC (Свойства проекта -> C ++ -> Дополнительно -> Отключить определенные предупреждения).

Также проверьте это и то обсуждения.

53
ответ дан 27 November 2019 в 16:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: