定义了一个map容器:
map<CString,CStringList*> m_JobHashList;这是类中一个static成员
key是JobID,value作Hash列表,下面这段代码是一个函数,目的是将strHash插入JobID对应的Hash列表中void AddJobHash(CString strJobID,CString strHash)
{
map<CString,CStringList*>::iterator iter;
iter=m_JobHashList.find(strJobID);
if(iter!=m_JobHashList.end()){
iter->second->AddTail(strHash);
return;
}
CStringList hashlist;
hashlist.AddTail(strHash);
m_JobHashList.insert(make_pair(strJobID,&hashlist));
}
请问,m_JobHashList中会保存正确的内容吗?我的意思是strHash,hashlist只是局部变量,将其内容插入这个map容器,能在其他地方正确使用吗?如果将map的value类型改为CStringList类型,而不是指针,则在执行AddTail的时候出错,就是error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
求高手指点一下,先谢谢了
map<CString,CStringList*> m_JobHashList;这是类中一个static成员
key是JobID,value作Hash列表,下面这段代码是一个函数,目的是将strHash插入JobID对应的Hash列表中void AddJobHash(CString strJobID,CString strHash)
{
map<CString,CStringList*>::iterator iter;
iter=m_JobHashList.find(strJobID);
if(iter!=m_JobHashList.end()){
iter->second->AddTail(strHash);
return;
}
CStringList hashlist;
hashlist.AddTail(strHash);
m_JobHashList.insert(make_pair(strJobID,&hashlist));
}
请问,m_JobHashList中会保存正确的内容吗?我的意思是strHash,hashlist只是局部变量,将其内容插入这个map容器,能在其他地方正确使用吗?如果将map的value类型改为CStringList类型,而不是指针,则在执行AddTail的时候出错,就是error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
求高手指点一下,先谢谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货