反向迭代器的使用报错

反向迭代器的使用出错
在使用vc++6.0编写反向迭代器程序时保存
#include<iostream>
#include<vector>
#include<iterator>
#include<algorithm>
using namespace std;
void main()
{
vector<int> ivec,ivec1;
vector<int>::iterator iter;
//int i=1;
for(vector<int>::size_type i=0;i!=10;i++)
ivec.push_back(i);
for(iter=ivec.begin();iter!=ivec.end();++iter)
 cout<<*iter<<" ";
cout<<endl;
vector<int>::reverse_iterator r_iter;
for(r_iter=ivec.rbegin();r_iter!=ivec.end();++r_iter)
      cout<<*r_iter<<" ";
sort(ivec.rbegin(),ivec.rend());

}
错误信息为:error C2676: binary '!=' : 'class std::reverse_iterator<int *,int,int &,int *,int>' does not define this operator or a conversion to a type acceptable to the predefined operator
------解决思路----------------------
end()改成rend()
for(r_iter=ivec.rbegin();r_iter!=ivec.rend();++r_iter)
------解决思路----------------------
//逆向操作
    for(iter = ivector.end(); iter != ivector.begin(); --iter)  
    {  
        cout << *(iter - 1) << " ";  
    }


http://bbs.****.net/topics/390999634