我在C ++中使用List1
创建了两个数组List2
和new
。 List1
已使用数据进行更新。我想将List1
复制到List2
。我尝试使用
std::copy(std::begin(List1), std::end(List1), std::begin(List2));
但是,这不起作用并给出以下错误消息:
error: ‘begin’ is not a member of ‘std’
对此错误有任何可能的建议吗?或者用C ++复制的其他方法?
答案 0 :(得分:2)
“我在C ++中用 new 创建了两个数组List1和List2 ”
begin
和end
免费函数不适用于指针。
即使一切正确,您最终也可能会no matching call to begin(T *&)
T
是指针的类型。
使用std::vector
或std::list
其他STL容器或仅使用静态数组来处理std::begin
和std::end
答案 1 :(得分:0)
将此行放在cpp文件的顶部:
#include <iterator>
答案 2 :(得分:0)
要使用std::begin
和std::end
,您需要包含<iterator>
并确保您的编译器支持C ++ 11。但是,这不会解决您的问题,因为您不能将它们与指针一起使用。请改用std::vector
。