关于STL中copy的问题,求解

classAirport{public:voidoperator=(Airport_input);private:map<string,time_t>flight;//航... class Airport
{
public:
void operator = (Airport _input);
private:
map<string, time_t> flight; //航班列表
};

void Airport::operator = (Airport _input)
{
copy(_input.flight.begin(), _input.flight.end(), this->flight.begin());
}

声称是发生了以下错误
二进制“=”: 没有找到接受“const std::string”类型的左操作数的运算符(或没有可接受的转换)

求解
展开
 我来答
Irreappearable
2012-03-22 · TA获得超过4956个赞
知道大有可为答主
回答量:1423
采纳率:25%
帮助的人:3143万
展开全部
map是一个容器,它的元素类型是pair<key, value>
如果你的map是map<string, time_t>,那么它的实际元素类型是pair<const string, time_t>

关键在于map的键类型是const的,所以你用copy函数无法做拷贝运算
实际上你想把整个map拷贝的话,不如直接用map的构造函数
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式