使用std :: copy将一个Array复制到另一个Array中

时间:2014-03-22 18:47:27

标签: c++ arrays

我正在以这种方式将较小的数组复制成更大的数组

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

2 个答案:

答案 0 :(得分:1)

看起来微软很挑剔。只需禁用警告;你的代码很好。

答案 1 :(得分:0)

在VS项目中添加预处理器 -D_SCL_SECURE_NO_WARNINGS ,上面的代码将进行编译。