ベクトルには複数のデータが含まれているため、ベクトルの検索関数を定義しようとしています。それは構造体のベクトルです
ID を入力して、それをテーブルで検索し、そのインデックスを見つけようとしています (その ID が既に存在する場合)。
だから私はここに宣言があります:
vector<Employee> Table;
vector<Employee>::iterator It;
vector<Employee>::iterator find_It;
//Table has these values
//Table.ID, Table.ch1, Table.ch2
そして、私はここでIDを見つけようとしています:
cin >> update_ID;
find_It = find(Table.begin(), Table.end(), update_ID);
変数 update_ID で検索を行う方法はありますか?
私はこれをやってみました:
find_It = find(Table.begin(), Table.end(), (*It).update_ID;
しかし、明らかに私のベクトル従業員には update_ID という名前のデータメンバーがありません
私が考えていたもう1つのオプションは、独自の検索機能を作成することです。これは、定義方法について少し混乱しています
Table.ID = update_ID の ID のインデックスを返したい
戻り値の型と値のパラメーターには何を指定すればよいですか? それは...ですか
returntype find( Iterator, Iterator, update ID)
{
for (vector<Employee>::iterator myit = Table.begin(), Table.end(), myit++)
{
if update_ID == Table.ID
{
return myit;
}
}
return myit
}