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>的解決方案.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM