3

我在 C++ 中创建了两个数组List1List2with 。用数据更新。我想复制到. 我尝试使用newList1List1List2

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

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

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

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

4

3 回答 3

2

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

beginfreeend函数不适用于指针。

即使一切都是正确的,你最终可能会得到no matching call to begin(T *&)

T是指针的类型。

使用std::vectorstd::list其他 STL 容器或只是简单的静态数组来使用std::beginstd::end

于 2013-10-08T16:45:36.917 回答
0

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

#include <iterator>
于 2013-10-08T16:43:34.233 回答
0

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

于 2013-10-08T16:43:35.973 回答