用vector删除二位数组的元素

#include
#include
#include
#include
#include
#define M 1000
using namespace std;

int N,L,H;
vectorpeo[M];
vectorwhole;
int main(int argc, char** argv) {
int i,j,z=0;
int num[3];
cin>>N>>L>>H;
for(i=0;i cin>>num[0]>>num[1]>>num[2];
peo[i].push_back(num[0]);
peo[i].push_back(num[1]);
peo[i].push_back(num[2]);
}
for(i=0;i<N;i++){
if(peo[i][1]<L){
cout<<i<<endl;
cout<<peo[i][0]<<endl;
peo[i].erase(peo[i][0]);
cout<<peo[i][0]<<endl;
//cout<<
++z;
}

}
return 0;

}

1.我想问一下能用erase删除一整行的数据么
2.然后vector 里的size 的含义是当前行的大小还是有多少行的意思?如果我想动态的知道自己的数据有多少行该怎么办
3.在运行时程序出错了,也不知道为什么
[Error] no matching function for call to 'std::vector::erase(std::vector&)'

求大神帮助,谢谢

http://www.cnblogs.com/xudong-bupt/p/3522457.html