Visual Studio 2015 不会禁止显示错误 C4996
Visual Studio 2015 won't suppress error C4996
Visual Studio 2015社区版在调试中编译时会出现以下错误,但在发行版中编译时不会出现:
std::copy::_Unchecked_iterators::_Deprecate': Call to 'std::copy' 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'
我能够将这个错误的来源追溯到我用来编写位图图像的第三方库的第214行和第242行。我不完全理解这些部分发生了什么,所以我宁愿不去惹它。
我正在尝试禁用此错误,但Visual Studio不允许。我已经尝试了文档中、StackOverflow或其他地方建议的以下解决方案:
- 将CCD_ 1添加到";禁用特定警告";项目设置中的字段>配置属性>C/C++>高级
- 将CCD_ 2添加到";命令参数"项目设置中的字段>配置属性>调试
- 在有问题的文件顶部和/或有问题的函数上方添加
#pragma warning (disable : 4996)
- 将
_SCL_SECURE_NO_WARNINGS
、_SCL_NONSTDC_NO_WARNINGS
、_SCL_OBSOLETE_NO_WARNINGS
、_SCL_SECURE_NO_WARNINGS_GLOBAL
及其组合添加到";预处理器定义";项目设置中的字段>配置属性>C/C++>预处理器 - 使用
#define
指令将上一个解决方案中的定义添加到有问题的文件的顶部 - 将来自先前解决方案但前缀为CCD_ 9或CCD_;命令参数"字段
但这些都不能解决我的问题。
Visual Studio坚持显示此错误的原因可能是什么?
定义NO_WARN_MBCS_MFC_DEPRECATION
#define _SECURE_SCL_DEPRECATE 0
#include <algorithm>
将_CRT_NONSTDC_NO_WARNINGS添加到预处理器定义中。
在您的stdafx.h:中
#pragma warning( push )
#pragma warning( disable: 4996)
#include <algorithm>
#pragma warning( pop )
为我工作VS2015更新3
相关文章:
- 显示错误输出的简单数组排序程序
- 我是 c++ 的新手.学习基本知识后,我想做井字游戏.对于印刷板,我在下面写代码,但它显示错误
- Clion显示错误,但可以使用Cmake成功构建代码
- 代码使用向量成功运行,但使用数组显示错误
- 禁止显示由于常量为零而比较始终为假的警告
- 禁止显示有关包含文件中 #pragma 包的警告
- SDL 映像:无法打开映像,仅显示错误消息
- 为什么将指针重新分配给 1D 数组的 char 时显示错误,但 2D 数组工作正常?
- 与clang++一起使用的VS代码在构建良好的C++文件中显示错误
- 编译器没有显示错误,但我没有得到任何输出.怎么了?
- PPM 颜色显示错误
- 当我选择大于 720 的矩阵大小时,程序退出并显示错误代码.可能是什么原因?
- is_permutation方法从 #include<algorithm> 显示错误的输出
- 为什么使用与父级声明的 std::function 在与子级一起使用时会显示错误?
- 我的代码厨师提交显示错误的结果
- 显示错误"std_lib_facilities.h"
- 为什么C++显示错误的数字?
- Android (ART) 崩溃并显示错误 JNI 在应用程序中检测到错误:jstring 是无效的本地引用
- 禁止显示 wx文件名::规范化错误消息
- Visual Studio 2015 不会禁止显示错误 C4996