我正在遍历几个双端队列,将数据组合到一个新容器中,然后再使用这些数据。问题是对我的迭代器值的任何引用都会在代码执行期间的某个时刻导致分段错误。从我能找到的所有内容来看,这应该是有效的,因为我认为我不会以任何方式使迭代器无效。
vector<char> fileData;
deque<deque <char> >::iterator channel;
deque<char>::iterator channelData;
for(channel=instance.mdata.begin(); channel!=instance.mdata.end(); ++channel)
{
for(channelData=deque<char>(*channel).begin(); channelData!=deque<char>(*channel).end(); ++channelData)
{
fileData.push_back(*channelData);
}
}