vector<int>
サイズ3のキーをキーとして、文字列を値として取り込むマップがあります。このマップには、ファイルから解析される約2000のエントリが含まれています。ベクトル1の各要素がベクトル2に存在するかどうかを確認する必要があります。
int index;
map<vector<int>,string>::iterator i2;
for ( i2=my_map.begin() ; i2 != my_map.end(); i2++)
{
int id_cnt = (*i2).first.at(0);
int prev_cnt = (*i2).first.at(1);
for (index=0; index < my_map.size(); index++)
{
if (prev_cnt==id_cnt[index]) //error
{
//code to do something
}
}
cout << "hi" <<endl;
cout << (*i2).second << endl;
}
私が得るエラーは次のとおりです。
「サススクリプトされた値は、配列、ポインター、またはベクトルではありません。
私は1週間からC++に取り組んでいますが、何も理解していません。:(
編集:
私は4つの列を持っています:
4 6 65 gdsg
6 1 64 sggg
1 2 34 wetw
7 4 25 wtwt
8 5 25 heyq
5 7 23 fheh
2 5 12 fetd
1列目の各番号が2列目にあるかどうかを確認する必要があります。したがって、1列目の1番目の要素の場合、2列目に4があります。次に、対応する3列目の番号(25)を取得して配置します。 20番目の要素の下に26個のアルファベットのベクトルでそれを。対応する文字列(wtwt)の最後の文字を取得する必要があるため、20番目。Tは20番目の文字です。
列1の要素に対してこのプロセスを実行する必要があります。