怎么判断mulit地图的insert插入操作返回是否成功
如何判断mulitmap的insert插入操作返回是否成功?
这是怎么回事啊?哪用错了吗?
------解决方案--------------------
虽然没查询过multimap的insert函数的返回值,但是我觉得也不至于返回你那个迭代器吧?“在网上查说multimap插入始终都会成功。。。”说插入成功是说编译正确的情况下,你这个连编译都木有通过。。。
#include <map>
#include <string>
using namespace std;
multimap<string, FX_RealTimeData> m_RTD;
bool CFXDataBase::SetRealTimeData(FX_RealTimeData d)
{
//这行有错误,提示如下:
pair<multimap<string, FX_RealTimeData>::iterator, bool> re = m_RTD.insert(make_pair(d.Name, d));
return;
}
编译错误信息
1>d:\code\test\fx_earlywarningsystem\fx_earlywarningsystem\fxdatabase.cpp(17): error C2440: “初始化”: 无法从“std::_Tree_iterator<_Mytree>”转换为“std::pair<_Ty1,_Ty2>”
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,FX_RealTimeData,std::less<std::string>,std::allocator<std::pair<const std::string,FX_RealTimeData>>,true>>
1> ]
1> and
1> [
1> _Ty1=std::_Tree_iterator<std::_Tree_val<std::_Tmap_traits<std::string,FX_RealTimeData,std::less<std::string>,std::allocator<std::pair<const std::string,FX_RealTimeData>>,true>>>,
1> _Ty2=bool
1> ]
这是怎么回事啊?哪用错了吗?
------解决方案--------------------
虽然没查询过multimap的insert函数的返回值,但是我觉得也不至于返回你那个迭代器吧?“在网上查说multimap插入始终都会成功。。。”说插入成功是说编译正确的情况下,你这个连编译都木有通过。。。