なぜ、コンバージョンがないのはなぜですか、コンバージョンがないのはなぜですか?イテレータを順方向反復にすることはできますが、逆方向反復はできないのはなぜですか?さらに重要なことは、私がこれをやりたいのであれば、私は何ができますか?フォワードイテレータを使って逆方向に反復することを可能にするアダプタがありますか?逆方向イテレータを順方向イテレータに変換できないのはなぜですか?
std::vector<int> buffer(10);
std::vector<int>::iterator forward = buffer.begin();
std::vector<int>::reverse_iterator backward = buffer.rbegin();
++forward;
++backward;
std::vector<int>::iterator forwardFromBackward = std::vector<int>::iterator(backward); // error! Can't convert from reverse_iterator to iterator!
std::vector<int>::reverse_iterator backwardFromForward = std::vector<int>::reverse_iterator(forward); // this is fine
変換があります: 'backward.base();' – ybungalobill
は、私はあなたが 'reverse_iteratorを使用することができますかなり確信しています'iterator'を使うときはいつでも、iterator型をテンプレート引数として渡すことで必要な場所に置いてください。あなたの問題は解決していませんか? – Grozz
あなたは絶対に正しいybungalobillです。私の実際のコードはこれより少し複雑で、私はbase()を試しましたが、エラーが出て私はそれをあきらめ、私の脳は私の知識を消しました。ありがとう!その正確なテキストを答えとして追加すると、本当に*それは答えですから、私はそれを受け入れます。 –