【发布时间】:2017-05-17 10:19:33
【问题描述】:
std::set<int> tmp_{30, 40};
int i=0;
while(tmp_[i]==40)
{
i++;
}
tmp_erase(i);
如何删除位置 i 的元素?我不能使用擦除,因为 i 不是 std::set::iteretor
【问题讨论】:
-
套装不能这样工作。
-
使用无序集的全部意义在于,对于那些没有“位置
i”这样的东西。 -
我建议您删除/修复代码,std::set 没有运算符 [],也不是您所要求的,并且它给出了有关问题的错误提示