|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<iostream>
#include<utility>
using namespace std;
int main()
{
typedef pair<string,string> Author;
string tn;
Author author("LiBai","DuFu");
if(author.first == "LiBai" && author.second == "DuFu")
tn = "ShiRen";
system("pause");
return 0;
}
编译报错了 :
1> 正在对“Debug\8_0.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1> Associative_containers.cpp
1>c:\users\wfd-lzf\documents\visual studio 2010\projects\cpppri\8_0\8_0\associative_containers.cpp(11): error C2678: 二进制“==”: 没有找到接受“std::string”类型的左操作数的运算符(或没有可接受的转换)
1> 可能是“内置 C++ operator==(const char [6], const char [6])”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\exception(470): 或 “bool std::operator ==(const std::_Exception_ptr &,const std::_Exception_ptr &)”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\exception(475): 或 “bool std::operator ==(std::_Null_type,const std::_Exception_ptr &)”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\exception(481): 或 “bool std::operator ==(const std::_Exception_ptr &,std::_Null_type)”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\system_error(408): 或 “bool std::operator ==(const std::error_code &,const std::error_condition &)”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\system_error(416): 或 “bool std::operator ==(const std::error_condition &,const std::error_code &)”
1> 尝试匹配参数列表“(std::string, const char [6])”时
1>c:\users\wfd-lzf\documents\visual studio 2010\projects\cpppri\8_0\8_0\associative_containers.cpp(11): error C2678: 二进制“==”: 没有找到接受“std::string”类型的左操作数的运算符(或没有可接受的转换)
1> 可能是“内置 C++ operator==(const char [5], const char [5])”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\exception(470): 或 “bool std::operator ==(const std::_Exception_ptr &,const std::_Exception_ptr &)”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\exception(475): 或 “bool std::operator ==(std::_Null_type,const std::_Exception_ptr &)”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\exception(481): 或 “bool std::operator ==(const std::_Exception_ptr &,std::_Null_type)”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\system_error(408): 或 “bool std::operator ==(const std::error_code &,const std::error_condition &)”
1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\system_error(416): 或 “bool std::operator ==(const std::error_condition &,const std::error_code &)”
1> 尝试匹配参数列表“(std::string, const char [5])”时
1>
1>生成失败。
1>
1>已用时间 00:00:00.92
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
没有==操作符吗?
(author.first == "LiBai" && author.second == "DuFu") first和second返回的不是字符串类型,比较类型错误
|
|