【发布时间】:2016-11-29 21:40:56
【问题描述】:
我正在尝试使用iterator 从 3D 矢量中删除一些旧数据。这是我的一段代码,与此相关:
vector< vector<vector <int> > > vol;
vector< vector< vector<int> > >::iterator row;
vector< vector<int> >::iterator col;
vector<int>::iterator dep;
for (row = this->vol.begin(); row != this->vol.end(); ++row)
{
for (col = row->begin(); col != row->end(); ++col)
{
for (dep = col->begin(); dep != col->end(); ++dep)
{
if ( *dep <= date - 10) {
dep = this->vol.erase( dep );
}
}
}
但我得到编译器错误:
no matching function for call to ‘std::vector<std::vector<std::vector<int> > >::erase(std::vector<int>::iterator&)’
我做错了什么?
谢谢
【问题讨论】: