redhat 9下用STL问题,请帮忙.
在调用vector的erase时,使用aa.begin(),aa.end()做参数没有问题,但使用&aa[3], &aa[7]就有问题,这个在windows下VC是没有问题的,如何解决?
例如:
using namespace std;
#include <vector>
#include <iostream>
typedef vector<int> Intvector;
int main()
{
Intvector vec;
int i;
for(i=0; i<10; i++)
{
vec.push_back(i);
}
for(i=0; i<vec.size(); i++)
{
cout<<vec[i]<<" ";
}
cout<<endl;
vec.erase(&vec[3], &vec[7]);
for(i=0; i<vec.size(); i++)
{
cout<<vec[i]<<" ";
}
cout<<endl;
return 0;
}
用 g++ -c test.cpp -o test.o编译,报错.