"Entry"オブジェクトの7x20 2Dベクトルがあります。 EntryオブジェクトにはIDがあります。私は私のベクトルを反復処理したいと実行します。2Dベクトルの行の要素を削除する - イテレータを使用する
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これは私は削除するIDを渡す機能の一部である
1〜70のいずれかの値であり、unsigned char型を返します。私はその後、レジスタを繰り返し、そのIDを持つエントリを削除します。
'entryRegister'と' day'の宣言を見てみましょう。そして、あなたが 'getID()'と同じことは、あなた自身の関数を 'deleteID()'の背後に書くことはできませんか? –