ペアのベクトルのイテレータでペアの値にアクセスすると、次のようなエラーが発生します。ペアのベクトルから値を取得する際にエラーが発生しました
vector< pair<int,string> > mapper;
if(Hash(input, chordSize) != id){
mapper.push_back(make_pair(tmp, input));
}
for (vector< pair<int,string> >::iterator it = mapper.begin(); it != mapper.end(); ++it)
{
cout << "1st: " << *it.first << " " // <-- error!
<< "2nd: " << *it.second << endl; // <-- error!
}
エラーメッセージ:
がどのように私はこの問題を解決することができますか?main_v10.cpp:165:25: error: ‘std::vector > >::iterator’ has no member named ‘first’ main_v10.cpp:165:56: error: ‘std::vector > >::iterator’ has no member named ‘second’
オペレータの優先順位をチェックし、 '*'と '.'優先順位を読み取ることができます: http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B – billz