【发布时间】:2016-09-24 17:20:01
【问题描述】:
我有一个“Entry”对象的 7x20 2D 矢量。 Entry 对象有一个 ID。我想遍历我的向量并执行:
if( idToDelete == entry.getID() )
//Delete entry
目前代码如下:
for(auto day : entryRegister)
{
for(auto entry : day)
{
if(entryID == entry.getID())
{
//Delete Entry
}
}
}
我不确定如何制定表达式以实际删除项目。我试过entryRegister[day].erase(entry),但我得到一个错误,因为没有找到在方括号中使用迭代器的运算符。
我看到了申报EntryRegister的请求。相关信息只是声明如下:vector< vector<Entry> >,有7列,每列最多20行。
getID 返回一个无符号字符,它是介于 1 和 70 之间的某个值。
这是一个函数的一部分,我在其中传递了一个我希望删除的 ID。然后我遍历寄存器,并删除具有该 ID 的所有条目。
【问题讨论】:
-
让我们看看
entryRegister和day的声明。和你一样getID(),你不能把你自己的函数写在后面给deleteID()吗?
标签: c++ vector iterator 2d-vector