【初心者歓迎】C/C++室 Ver.45【環境依存OK】
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
50:デフォルトの名無しさん 07/12/09 02:54:00 iteratorは要素を指すポインタのようなモノだと考えれば、 ポインタに*をつけると実体pair<>を指すことになる。 んで、pairに->演算子はオーバーロードされてないからエラーになるわけだ。 大体あってる? 51:デフォルトの名無しさん 07/12/09 02:55:38 (*it).second it->second こういうことじゃなくて? 52:デフォルトの名無しさん 07/12/09 02:59:32 この場合*をつけると演算子の優先順位の関係で if( *(it->first) == iXY ) return *(it->second); と同じになり、イテレータの参照剥がしではなく、firstおよびsecondメンバつまりint,stringの参照剥がしになる。 int,stringはポインタやイテレータではないのでエラー。 *を使いたければ、こう if( (*it).first) == iXY ) return (*it).second); 53:50 07/12/09 03:01:00 優先順位間違ってた/(^o^)\ 54:49 07/12/09 03:15:00 みなさん、ありがとう! もっと精進しまっす!
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4995日前に更新/246 KB
担当:undef