Numeric header compiling fails
===

Just a few minutes ago i was introduced to std::accumulate. And it needed #include <numeric> to function. But the compiling of the numeric header fails!

Here is the compile log, i dont know what more info to supply, the application im writing this in is too big to include here, but i guess that is not the issue.

        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_Deque_iterator<_Ty,_Alloc,_Secure_validation> std::operator +(_Deque_iterator<_Ty,_Alloc,_Secure_validation>::difference_type,std::_Deque_iterator<_Ty,_Alloc,_Secure_validation>)' : could not deduce template argument for 'std::_Deque_iterator<_Ty,_Alloc,_Secure_validation>' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\deque(456) : see declaration of 'std::operator +'
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(33) : see reference to function template instantiation '_Ty std::_Accumulate<_InIt,_Ty>(_InIt,_InIt,_Ty)' being compiled
        2>        with
        2>        [
        2>            _Ty=int,
        2>            _InIt=std::_Tree<std::_Tmap_traits<uint64,uint32,std::less<uint64>,std::allocator<std::pair<const uint64,uint3        2>>,false>>::iterator
        2>        ]
        2>        ..\..\src\game\Player.cpp(20865) : see reference to function template instantiation '_Ty std::accumulate<std::_Tree<_Traits>::iterator,int>(_InIt,_InIt,_Ty)' being compiled
        2>        with
        2>        [
        2>            _Ty=int,
        2>            _Traits=std::_Tmap_traits<uint64,uint32,std::less<uint64>,std::allocator<std::pair<const uint64,uint3        2>>,false>,
        2>            _InIt=std::_Tree<std::_Tmap_traits<uint64,uint32,std::less<uint64>,std::allocator<std::pair<const uint64,uint3        2>>,false>>::iterator
        2>        ]
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_Deque_const_iterator<_Ty,_Alloc,_Secure_validation> std::operator +(_Deque_const_iterator<_Ty,_Alloc,_Secure_validation>::difference_type,std::_Deque_const_iterator<_Ty,_Alloc,_Secure_validation>)' : could not deduce template argument for 'std::_Deque_const_iterator<_Ty,_Alloc,_Secure_validation>' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\deque(329) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::basic_string<_Elem,_Traits,_Alloc> std::operator +(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\string(60) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::basic_string<_Elem,_Traits,_Alloc> std::operator +(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\string(50) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::basic_string<_Elem,_Traits,_Alloc> std::operator +(const _Elem,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\string(40) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::basic_string<_Elem,_Traits,_Alloc> std::operator +(const _Elem *,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const _Elem *' from 'int'
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\string(30) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::basic_string<_Elem,_Traits,_Alloc> std::operator +(const std::basic_string<_Elem,_Traits,_Alloc> &,const std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'int'
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\string(20) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_Vb_iterator<_Sizet,_Difft,_MycontTy> std::operator +(_Difft,std::_Vb_iterator<_Sizet,_Difft,_MycontTy>)' : could not deduce template argument for 'std::_Vb_iterator<_Sizet,_Difft,_MycontTy>' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(1854) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_Vb_const_iterator<_Sizet,_Difft,_MycontTy> std::operator +(_Difft,std::_Vb_const_iterator<_Sizet,_Difft,_MycontTy>)' : could not deduce template argument for 'std::_Vb_const_iterator<_Sizet,_Difft,_MycontTy>' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(1743) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_Vector_iterator<_Ty,_Alloc> std::operator +(_Vector_iterator<_Ty,_Alloc>::difference_type,std::_Vector_iterator<_Ty,_Alloc>)' : could not deduce template argument for 'std::_Vector_iterator<_Ty,_Alloc>' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(409) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_Vector_const_iterator<_Ty,_Alloc> std::operator +(_Vector_const_iterator<_Ty,_Alloc>::difference_type,std::_Vector_const_iterator<_Ty,_Alloc>)' : could not deduce template argument for 'std::_Vector_const_iterator<_Ty,_Alloc>' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector(277) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_String_iterator<_Elem,_Traits,_Alloc> std::operator +(_String_iterator<_Elem,_Traits,_Alloc>::difference_type,std::_String_iterator<_Elem,_Traits,_Alloc>)' : could not deduce template argument for 'std::_String_iterator<_Elem,_Traits,_Alloc>' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xstring(440) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_String_const_iterator<_Elem,_Traits,_Alloc> std::operator +(_String_const_iterator<_Elem,_Traits,_Alloc>::difference_type,std::_String_const_iterator<_Elem,_Traits,_Alloc>)' : could not deduce template argument for 'std::_String_const_iterator<_Elem,_Traits,_Alloc>' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xstring(300) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::reverse_iterator<_RanIt> std::operator +(_Diff,const std::reverse_iterator<_RanIt> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility(2203) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2784: 'std::_Revranit<_RanIt,_Base> std::operator +(_Diff,const std::_Revranit<_RanIt,_Base> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'std::pair<_Ty1,_Ty        2>'
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]
        2>        C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility(2003) : see declaration of 'std::operator +'
        2>C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\numeric(25) : error C2677: binary '+' : no global operator found which takes type 'std::pair<_Ty1,_Ty        2>' (or there is no acceptable conversion)
        2>        with
        2>        [
        2>            _Ty1=const uint64,
        2>            _Ty2=uint32
        2>        ]

I would be glad if someone could share information about why this occurs and hopefully how to fix it

EDIT: As you can see im using VS 2009, just wanted to point that out.

Thanks in advance!