C++,迭代问题?

来源:百度知道 编辑:UC知道 时间:2024/06/09 20:18:15
各位老大
这段代码运行后出现了 deque iterators incompatible 意思是deque的迭代器不兼容
请问怎么解决呀
#include<iostream>
#include<deque>
using namespace std;
void main(void)
{
deque<int> myqueue;
deque<int>::iterator k;
myqueue.push_front(12);
k=myqueue.begin();
for(int i=0;i<10;i++)
{
myqueue.insert(k,i);
}
for(int i=0;i<10;i++) cout<<myqueue[i]<<endl;
}
用迭代就会出错,直接用myqueue.begin()就通得过,请问为什么?

我使用GNU C++ 编译,把void main 改成int main 并且return 0
编译通过且成功运行

首先我要告诉你的是
容易不能直接调用
循环应该是这样的
deque<int>::iterator iter = myqueue.begin();
iter != myqueue.end();++iter
cout<<*iter<<endl;
这样才是循环
他本来就是容器不是数组 容易和数组是2回事
你要搞清楚

visual c++2008 没有错