读书人

想实验下erase简单写了个实验代码

发布时间: 2012-02-06 15:52:45 作者: rapoo

想实验下erase,简单写了个实验代码,发现出现死循环,求救
想实验下erase,简单写了个实验代码,发现出现死循环,求救
#include <iostream>
#include <vector>;
using namespace std;
int main()
{ char t;
int* p1;
vector<int> c;
c.push_back(1);
c.push_back(2);
c.push_back(3);
for(int i=0;i<c.size();++i)
{cout<<c[i]<<c.size()<<endl;}
p1=&c.at(1);
c.erase(p1);
c.size();
for(int j=0;j<c.size();++i)
{cout<<c[j]<<endl;}
cin>>t;

}
出现死循环,问题出在哪里呢?

[解决办法]
int j=0;j<c.size();++i
改成
int j=0;j<c.size();++j
[解决办法]
for(int j=0;j<c.size();++i)//++j
{cout<<c[j]<<endl;}
cin>>t;//这句是用来干什么的?
[解决办法]
for(int j=0;j<c.size();++i)
是++j
[解决办法]
cin>>t估计是想跟getchar类似的。

读书人网 >C++

热点推荐