我正在以这种方式将较小的数组复制成更大的数组
int *Arr // this points to array that has size of 7 (i.e) int Arr[7];
int size // this has the size of the above ie. 7
现在我想制作一个更大的数组并复制以前的数组数据,所以我这样做
int *nArr = new int[size+1];
这是问题的开始我试图使用std :: copy复制内容 我正在使用C ++ 03,因此我无法访问std :: begin和std :: end
std::copy ( Arr, Arr+size, nArr);
以上陈述给出了错误
Error 1 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' c:\program files (x86)\microsoft visual studio 11.0\vc\include\xutility 2176
答案 0 :(得分:1)
看起来微软很挑剔。只需禁用警告;你的代码很好。
答案 1 :(得分:0)
在VS项目中添加预处理器 -D_SCL_SECURE_NO_WARNINGS ,上面的代码将进行编译。