我有这个方法,必须删除位于特定位置的元素。我以前是通过以下方式完成的:
void document::remoteRemove(const symbol &toRemove) {
std::pair<int,int> pos=findPosition(toRemove);
int i0=pos.first;
int i1=pos.second;
symbol sym=symbols[i0][i1];
symbols[i0].erase(symbols[i0].begin()+i1);
}
其中symbols
被定义为std::vector<std::vector<symbol> > symbols;
。
问题在于该方法不会擦除元素。我不知道擦除方法的使用是否错误。