vs error C4996 : -D_SCL_SECURE_NO_WARNINGS

【error C4996: 'std::_Equal1': 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++标准库任何可能的不安全的调用都会导致C4996的错误。

【解决】:上策是改实参类型等来规范调用,下策是屏蔽警告。方法如下:

-D即difine a macro定义宏。在属性页、C/C++、预处理器、预处理器定义添加_SCL_SECURE_NO_WARNINGS即可,如图


PS:按理说在.cpp文件顶部添加#define  _SCL_SECURE_NO_WARNINGS也可,但会有如下警告:

warning C4603: '_SCL_SECURE_NO_WARNINGS' : macro is not defined or definition is different after precompiled header use

故还是优先使用第一种方法吧。


参考:

点击打开链接 msdn:_SCL_SECURE_NO_WARNINGS



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值