使用map过程中,出现以下错误:
error C2784: “bool std::operator <(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)”: 无法从“重载函数类型”为“const std::reverse_iterator<_RanIt> &”推导 <未知> 参数 d:\program files\microsoft visual studio 9.0\vc\include\functional 143
error C2676: 二进制“<”: “const std::string”不定义该运算符或到预定义运算符可接收的类型的转换 d:\program files\microsoft visual studio 9.0\vc\include\functional 143
发现将
#include<string.h>
改为:
#include<string>
即可编译成功。
问题说明:
string.h和string完全是两个不同的文件。string.h是c语言的字符串函数头文件,包含函数如strcpy等;string文件是STL中的一个类,命令中的std::string即需调用该头文件。
参考链接:
http://blog.sina.com.cn/u/1439653667