Heja
Mam mapę:
map<char,int> letters;
którą chciałbym mieć posortowaną po wartościach.Znalazłem temat na naszym forum że powinno to być załatwiane już przy wstawianiu itemów:
http://4programmers.net/Forum/C_i_C++/180678-stdmap_-_sortowanie_po_nazwie?hl=Sortowanie%20std::map
niestety,jak praktyka pokazuje nie jest.[EDIT: chyba,że to posortowanie jest po kluczu,to widzę by się zgadzało.Niestety,ja chcę mieć mapę posortowaną wg wartości]Wobec tego chciałem użyć std::sorta.Znalazłem co trzeba:
http://www.cplusplus.com/reference/algorithm/sort/
zapodałem kod:
sort(letters.begin(),letters.end());
a tu DUPA,dostaję pierdyliard errorów o_O w stylu poniżej.O czym zapomniałem/nie napisano w dokumentacji,że mój kod nie działa?
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(1795) : error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'std::_Tree<_Traits>::iterator'
with
[
_Traits=std::_Tmap_traits<char,int,std::less<char>,std::allocator<std::pair<const char,int>>,false>
]
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(634) : see declaration of 'std::operator`-''
main.cpp(148) : see reference to function template instantiation 'void std::sort<std::_Tree<_Traits>::iterator>(_RanIt,_RanIt)' being compiled
with
[
_Traits=std::_Tmap_traits<char,int,std::less<char>,std::allocator<std::pair<const char,int>>,false>,
_RanIt=std::_Tree<std::_Tmap_traits<char,int,std::less<char>,std::allocator<std::pair<const char,int>>,false>>::iterator
]
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(1795) : error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'std::_Tree<_Traits>::iterator'
with
[
_Traits=std::_Tmap_traits<char,int,std::less<char>,std::allocator<std::pair<const char,int>>,false>
]
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(634) : see declaration of 'std::operator`-''
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(1795) : error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'std::_Tree<_Traits>::iterator'
with
[
_Traits=std::_Tmap_traits<char,int,std::less<char>,std::allocator<std::pair<const char,int>>,false>
]
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(634) : see declaration of 'std::operator`-''
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(1795) : error C2784: 'reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'std::_Tree<_Traits>::iterator'
with
[
_Traits=std::_Tmap_traits<char,int,std::less<char>,std::allocator<std::pair<const char,int>>,false>
]
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\xutility(634) : see declaration of 'std::operator`-''
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(1795) : error C2676: binary '-' : 'std::_Tree<_Traits>::iterator' does not define this operator or a conversion to a type acceptable to the predefined operator
with
[
_Traits=std::_Tmap_traits<char,int,std::less<char>,std::allocator<std::pair<const char,int>>,false>
]
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(1795) : error C2780: 'void std::_Sort(_RanIt,_RanIt,_Diff,_Pr)' : expects 4 arguments - 3 provided
C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\algorithm(1913) : see declaration of 'std::_Sort'