求指点,同样的程序,在dev里面运行为啥会出现[Error] 'reverse' was not declared in this scope

#include<iostream>
#include<cmath>
#include<cmath>
#include<vector>
#include<string>

using namespace std;
int flag=1;
int main()
{
    int num;
    cin>>num;
    if(num<0)
        cout<<1<<" ";
    else
        cout<<0<<" ";
    num = abs(num);
    vector<int> s;
    for(int i=0; num !=1; ++i)
    {
        s.push_back(num%2);
        num = num/2;
    }
    s.push_back(1);
    reverse(s.begin(), s.end());
    for(vector<int>::iterator it=s.begin(); it!=s.end(); ++it)
        cout<<*it<<" "; 
}

为什么同样的代码在vs2010里运行没问题,到了dev就不行了呢????
图片说明

[Error] 'reverse' was not declared in this scope
为啥呢?求大佬指点

#include <algorithm>
试试看,再不行,就是gcc里带的stl没有这个函数,你得自己写一个反转的代替了。