C++解決error C4996報錯

今天用c++寫了個數獨程序,在編譯過程當中報了一個錯誤:c++

1>------ 已啓動生成: 項目: sudoku, 配置: Debug Win32 ------
1> main.cpp
1> function.cpp
1>e:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility(2132): error C4996: 'std::_Copy_impl': 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'
1> e:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility(2113) : 參見「std::_Copy_impl」的聲明
1> d:\coding_file\cpp\sudoku\sudoku\function.cpp(73): 參見對正在編譯的函數 模板 實例化「_OutIt std::copy<_Ty*,_Ty*>(_InIt,_InIt,_OutIt)」的引用
1> with
1> [
1> _OutIt=int *
1> , _Ty=int
1> , _InIt=int *
1> ]
1> 正在生成代碼...安全

這是關於安全性的警告,錯誤代碼爲4996,問題出如今標準庫函數copy()的使用上,有兩種方法能夠忽略:函數

1.在出現報錯的cpp文件的文件頭加上#pragma warning(disable : 4996) 注:該語句只對當前文件生效,並不是對整個工程this

2.打開當前項目的屬性頁,選擇 配置屬性->C/C++->預處理器,在預處理器定義中加上_SCL_SECURE_NO_WARNINGS,多個屬性間以分號分隔 注:該項設置對整個工程生效spa

相關文章
相關標籤/搜索