出现以下错误的原因是未添加头文件:#include <string>
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\vector(1329) : see declaration of 'std::operator >'
1>
d:\microsoft visual studio 9.0\vc\include\functional(131) : while compiling class template member function 'bool std::greater<_Ty>::operator ()(const _Ty &,const _Ty &) const'
1>
with
1>
[
1>
_Ty=std::string
1>
]
1>
f:\算法导论\程序代码\heapsort\heapsort\main.cpp(21) : see reference to class template instantiation 'std::greater<_Ty>' being compiled
1>
with
1>
[
1>
_Ty=std::string
1>
]
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\vector(1329) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\vector(1329) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::vector<_Ty,_Alloc> &,const std::vector<_Ty,_Alloc> &)' : could not deduce template argument for 'const std::vector<_Ty,_Alloc> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\vector(1329) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\xutility(2244) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\xutility(2244) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\xutility(2244) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\xutility(2244) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\xutility(2057) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\xutility(2057) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\xutility(2057) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)' : could not deduce template argument for 'const std::_Revranit<_RanIt,_Base> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\xutility(2057) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\utility(93) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\utility(93) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\utility(93) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2784: 'bool std::operator >(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'const std::string'
1>
d:\microsoft visual studio 9.0\vc\include\utility(93) : see declaration of 'std::operator >'
1>d:\microsoft visual studio 9.0\vc\include\functional(132) : error C2676: binary '>' : 'const std::string' does not define this operator or a conversion to a type acceptable to the predefined operator