为什么加上#define _CRT_SECURE_NO_WARNINGS还是报错,口耳相传害人不浅!

相信很多朋友在使用scanf写一个原始的程序时候都遇到这个错吧

今天答题就遇到这个,每次使用它时候都需要不厌其烦的改配置。

  1. 1首先我的方法是在IDE中输入_CRT_……然后等待插件等提示(或者你手速快直接打出来),然后把它复制到这里为什么加上#define _CRT_SECURE_NO_WARNINGS还是报错,口耳相传害人不浅!_第1张图片
    (项目属性)也就是网上给的最多的解决方案。
  2. 这是一个纯体力劳动,点来点去,于是网上有第二种方法就是在文件的最开头#define _CRT_SECURE_NO_WARNINGS,这样是所谓预处理过程,但是我加了发现无济于事   
    为什么加上#define _CRT_SECURE_NO_WARNINGS还是报错,口耳相传害人不浅!_第2张图片
  3. 但是我感觉预处理这个词似曾相识,于是想到了万恶的这个文件  stdafx.h,于是我把#define_CRT_SECURE_NO_WARNINGS加入了它(放在第一行最好),问题解决
    为什么加上#define _CRT_SECURE_NO_WARNINGS还是报错,口耳相传害人不浅!_第3张图片
    原来网上的教程可能是直接在空白工程加入,并没有预编译头文件,所以可以直接加入,而我们新建的工程包含预编译头文件,所以这些工作交给了stdafx.h。前提不一样,所以解决问题不一样,习惯于使用预编译头文件的朋友要记得把那些命令行加入到stdafx.h,不要照搬抄烂了的“经验”。

你可能感兴趣的:(代码心得,C++,预编译头文件)