error C2664: “std::map<_Kty,_Ty>::map(const std::map<_Kty,_Ty> &)”: 问题解决

今天使用STL的map进行嵌套使用,然后出现这个错误:error C2664: “std::map<_Kty,_Ty>::map(const std::map<_Kty,_Ty> &)”: 不能将参数 1 从“std::map<_Kty,_Ty>”转换为“const std::map<_Kty,_Ty> &”

放上google下出现的全是另外另外一个关于使用pair和make_pair的错误。

这个错误相对少些,看下面代码,就知道是map的类型不对应,我这是把map<vector<sentence>::iterator,float>返回给map<vector<sentence>::iterator,short>(都是粘贴复制惹得祸)

map<vector<sentence>::iterator,short> get_numerator(int type)
	{
		if( numerator.find(type)==numerator.end())
			numerator.insert(make_pair(type,map<vector<sentence>::iterator,float>()));
		return numerator.find(type)->second;
	}
 

你可能感兴趣的:(error)