在使用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)