c++ copy 報錯

在使用C++中中的函數copy時,編譯器報了這樣的錯誤

在vs的編譯器中編譯器提示的是警告,而在vs2013中直接報錯。

最後得知原因是:
copy函數原型:copy(char*s,size_tlen,size_tpos=0);
而copy函數中的參數size_tpos的使用很容易導致數組越界,因此編譯器會報錯。

解決方案:
(1)選中你所建的項目,右鍵屬性–> c/c++ -->預處理器 --> 預處理器定義 --> 編輯。在文本框中輸出_SCL_SECURE_NO_WARNING。
(2)在頭文件下方加入預處理 #pragma warning(disable:4996)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章