A
Anil
I am facing problem while erasing an elemet from stl vector when its
size is 2. It works fine when SIZE > 2.
Can anybody help me in this?? Following is the sample code which i
tried.
#include <iostream>
#include <vector>
using namespace std;
#define SIZE 2
main()
{
vector<int> myVect;
std::vector<int>::iterator iter;
for(int i =0; i<SIZE; i++)
myVect.push_back(i);
cout<< myVect.size() << "\n";
for( iter = myVect.begin(); iter != myVect.end(); iter++)
cout<< *iter << " ";
cout<<"\n";
for( iter = myVect.begin(); iter != myVect.end(); iter++)
{
cout<< *iter << "\n";
if( *iter == 1)
myVect.erase(iter);
}
return 0;
}
size is 2. It works fine when SIZE > 2.
Can anybody help me in this?? Following is the sample code which i
tried.
#include <iostream>
#include <vector>
using namespace std;
#define SIZE 2
main()
{
vector<int> myVect;
std::vector<int>::iterator iter;
for(int i =0; i<SIZE; i++)
myVect.push_back(i);
cout<< myVect.size() << "\n";
for( iter = myVect.begin(); iter != myVect.end(); iter++)
cout<< *iter << " ";
cout<<"\n";
for( iter = myVect.begin(); iter != myVect.end(); iter++)
{
cout<< *iter << "\n";
if( *iter == 1)
myVect.erase(iter);
}
return 0;
}