C ++复制用new创建的数组

时间:2013-10-08 16:39:59

标签: c++ copy

我在C ++中使用List1创建了两个数组List2newList1已使用数据进行更新。我想将List1复制到List2。我尝试使用

std::copy(std::begin(List1), std::end(List1), std::begin(List2));

但是,这不起作用并给出以下错误消息:

error: ‘begin’ is not a member of ‘std’

对此错误有任何可能的建议吗?或者用C ++复制的其他方法?

3 个答案:

答案 0 :(得分:2)

“我在C ++中用 new 创建了两个数组List1和List2

beginend免费函数不适用于指针。

即使一切正确,您最终也可能会no matching call to begin(T *&)

T是指针的类型。

使用std::vectorstd::list其他STL容器或仅使用静态数组来处理std::beginstd::end

答案 1 :(得分:0)

将此行放在cpp文件的顶部:

#include <iterator>

答案 2 :(得分:0)

要使用std::beginstd::end,您需要包含<iterator>并确保您的编译器支持C ++ 11。但是,这不会解决您的问题,因为您不能将它们与指针一起使用。请改用std::vector