我有一些私有类成员,代表std::deque
包含一些数据的随机访问数组:
std::vector<std::deque<SomeDataClass> > someMember;
我想提供一个公共类方法,它返回可迭代的数据结构,包含我的双端队列数组中的所有数据元素:
std::deque<SomeDataClass> someMethod();
我希望这个方法遍历向量中的所有双端队列,并将其路径上的每个元素复制到本地 std::deque,最终按值返回这个本地 std::deque。我正在尝试使用 C++11auto
和std::begin()
,来实现此方法std::end()
:
std::deque<SomeDataClass> MyClassName::someMethod(){
std::deque<DirectedEdge> allDataItems;
std::deque<DirectedEdge>::iterator deqIter = allDataItems.begin();
for(auto it = std::begin(someMember); it != std::end(someMember); ++it){
std::copy(std::begin(*it), std::end(*it), deqIter);
}
return allDataItems;
}
我在双端队列标头中的运行时收到数据访问冲突未处理的异常错误。什么是错误?