std::deque
いくつかのデータを含むランダム アクセス配列を表すプライベート クラス メンバーがあります。
std::vector<std::deque<SomeDataClass> > someMember;
deques の配列からすべてのデータ要素を含む、反復可能なデータ構造を返すパブリック クラス メソッドを提供したいと思います。
std::deque<SomeDataClass> someMethod();
このメソッドがベクター内のすべての両端キューを通過し、途中のすべての要素をローカル std::deque にコピーして、最終的にこのローカル std::deque を値で返すことを望みます。auto
C++11と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;
}
実行時に deque ヘッダーにデータ アクセス違反の未処理の例外エラーが表示されます。間違いとは何ですか?