Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;复制用新创建的数组 < >我在C++中创建了两个数组:代码> List1和 List2 < 新< /COD> >。代码>列表1用数据更新。我想将List1复制到List2。我试着用 std::copy(std::begin(List1), std::end(List1), std::begin(List2));_C++_Copy - Fatal编程技术网

C++;复制用新创建的数组 < >我在C++中创建了两个数组:代码> List1和 List2 < 新< /COD> >。代码>列表1用数据更新。我想将List1复制到List2。我试着用 std::copy(std::begin(List1), std::end(List1), std::begin(List2));

C++;复制用新创建的数组 < >我在C++中创建了两个数组:代码> List1和 List2 < 新< /COD> >。代码>列表1用数据更新。我想将List1复制到List2。我试着用 std::copy(std::begin(List1), std::end(List1), std::begin(List2));,c++,copy,C++,Copy,但是,这不起作用,并给出以下错误消息: error: ‘begin’ is not a member of ‘std’ 对于这个错误有什么可能的建议吗?或者C++中复制的替代方法?将这一行放到CPP文件的顶部: #include <iterator> #包括 要使用std::begin和std::end,您需要包括,并确保编译器支持C++11。然而,这并不能解决您的问题,因为您不能将它们与指针一起使用。改用std::vector。“我用C++中的新建创建了两个数组List1和Li

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

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

对于这个错误有什么可能的建议吗?或者C++中复制的替代方法?

将这一行放到CPP文件的顶部:

#include <iterator>
#包括

要使用
std::begin
std::end
,您需要包括
,并确保编译器支持C++11。然而,这并不能解决您的问题,因为您不能将它们与指针一起使用。改用
std::vector

“我用C++中的新建创建了两个数组List1和List2。”

begin
end
自由函数在指针上不起作用

即使一切都是正确的,您最终可能会遇到
没有匹配的开始调用(T*&)

T
是指针的类型


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

@KerrekSB:而不是new?我不想将其更改为std::vector,因为代码已经在分发中。
std::begin
位于
中。不过,它们在指针上不起作用。@chris:已经包括在内了。你使用C++11吗
std::begin
来自C++11。不要使用begin和end-then,只需给它第一个和最后一个成员之后的一个。std::copy(&List1[0],&List1[无论大小],List2);有什么解释吗?或者他们只是没有包括它的support@POW:你会推荐使用memcpy吗?@khajvah-See,它可能会回答你的问题question@SathishKrishnan这就是为什么我问数组是什么。如果施工人员需要这样做,那么这将出错work@khajvah原因很简单,指针是指针,而不是数组。指针可以指向数组的开头(例如,分配了
new[]
),但是没有可移植的方法来判断它是否开始,或者该数组有多大。这意味着实现
end()。