VS 返回值被忽略的解决方法
•问题
用 Visual Studio 编写 C++ 代码的时候,一旦用到 scanf , freopen 等函数的时候,编译器总会不合时宜的给你提示 “返回值被忽略”,那么该如何解决呢?
•解决方案 1
右击 项目->属性 ,依次找到 【配置设置】->【C/C++】->【所有选项】,在搜索框中输入 $SDL$,并将选项 【是】 更改为 【否】
更改完成后点击【应用】,此时,编译器就能正常使用 scanf , freopen 等报错的代码了。
•解决方案2
在下面的输出信息中,我们可以看到有一处错误代号 error C4996 ;
所以我们可以在程序开头加上一句 #pragma warning(disable:4996) 就行,意思是忽略这个错误;
•一劳永逸
上述 1,2 两种方案都可以成功解决该错误,但每次新建一个项目我都要这样修改或添加这样一句代码吗?
有没有一劳永逸的办法?
嘿嘿,还真有!
在你本地安装的 Visual Studio 目录下,找到 $newc++file.cpp$ 文件,我的在这个位置
D:\Microsoft Visual Studio\2022\Community\Common7\IDE\VC\VCProjectItems
然后,打开该文件,添加上 #pragma warning(disable:4996) ,保存退出即可。
该文件保存的是VS 中 C++ 默认的代码段,所以,你就不用每次都手动添加了。
当然,如果你希望能在创建C++项目的时候自动就生成我们在代码开头想要的东西,包括创建信息注释,如版权声明、文件名、作者、日期时间、版本号等信息,而且包括初始的头文件声明和主函数等一些信息,都可以添加到该文件中。
我放置的默认代码如下:
#pragma warning(disable:4996)//取消返回值被忽略的报错 #pragma warning(disable:4786)//取消使用STL中一些容器的报错 #include<bits/stdc++.h> using namespace std; #define INF 0x3f3f3f3f #define INFll 0x3f3f3f3f3f3f3f3f #define ll long long #define pii pair<int ,int > #define psi pair<string ,int > #define pb(x) push_back(x) #define ls(x) (x<<1) #define rs(x) (x<<1|1) #define GCD(a,b) __gcd(a,b) #define PI acos(-1) #define mem(a,b) memset(a,b,sizeof(a)) #define endl '\n' #define Close() std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); int main() { //freopen("E:\\Documents\\stdin&&stdout\\stdin\\文件名","r",stdin);//读文件 //freopen("E:\\Documents\\stdin&&stdout\\stdout\\文件名","w",stdout);//写文件 return 0; }有关VS使用万能头文件 #include<bits/stdc++.h> 报错的解决方案,请移步 VS2022不能使用<bits/stdc++.h>的解决方案.