请教vector的erase()产生的问题。。急阿
class CSE
{
public:
~CSE();
CSE(int Var_Num);
int Var_N;
int* State;
int Level;
};
CSE::CSE(int Var_Num)
{
Var_N = Var_Num;
State = new int[Var_N+1];
for (int i=0;i<Var_N+1;i++)
{
State[i] = 0;
}
Level=1;
}
CSE::~CSE()
{
if (State != NULL)
{
delete []State;
State = NULL;
}
}
void main()
{
vector(CSE) TSP1;
CSE SE1(5);
CSE SE2(5);
TSP1.push_back(SE1);
TSP1.push_back(SE2);
TSP1.erase(TSP1.begin());
for (int i=0;i < TSP1.size();i++)
{
cout<<TSP1[i].State[0]<<endl;
}
}
问题出在删除TSP1.begin()元素以后,输出结果为非0;不知道怎么解决,望高手指点,最好能给出提示性的语句。谢谢