在使用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)
最后编译器将编译通过。