VS中编译时常见的错误类型

1、添加_CRT_SECURE_NO_WARNINGS

error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

如下:

#define _CRT_SECURE_NO_WARNINGS

或者是在:

在文件开头添加 #define _CRT_SECURE_NO_WARNINGS

在 项目->属性->C/C++->预处理器->预处理器定义中添加_CRT_SECURE_NO_WARNINGS

2、

问题描述
在用VS2013编译时出现下面的错误:error C4703: 使用了可能未初始化的本地指针变量“xxx”

问题分析:在VS2013创建项目时,会有一个勾选项,叫做“安全开发生命周期(SDL)检查”,这个东西是微软在VS2013新推出的东西,为了是能更好的监管开发者的代码安全,如果勾选上这一项,那么他将严格按照SDL的规则编译代码,会有一些以前常用的函数无法通过编译,比如在VS2010中的scanf是warning那么在VS2013中就是error了。

解决方法:
有一个选择打开和关闭SDL检查的位置就是:项目属性->配置属性->C/C++->SDL检查,选测是或者否
此时我们选择”否”,则上面的那个错误就不会出现了。或者将指针变量初始化为nullptr,也可以解决。

3、

参考链接:

VS常用预处理器设置

error C4703: 使用了可能未初始化的本地指针变量“xxx”

VS关于LINK2019无法解析的错误的分析及其解决

发布了103 篇原创文章 · 获赞 38 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/wuwuku123/article/details/104858272