我試圖循環容器(地圖,集合,矢量,列表)和數組的方式相同。 下面是代碼:在地圖上循環與數組相同的方式
template<typename TYPE>
void AddXmlOfContAttribute(TYPE *it)
{
m_ss<<"<SingleNode ";
AddXmlAttribute("Value" , *it);
m_ss<<"/>\n";
}
template<typename TYPE1,typename TYPE2>
void AddXmlOfContAttribute(std::pair<TYPE1,TYPE2> tpair)
{
m_ss<<"<MapNode ";
AddXmlAttribute("key" , tpair->first);
AddXmlAttribute("Value" , tpair->second);
m_ss<<"/>\n";
}
template<typename TYPE>
void AddContainerToXml(std::string str, TYPE it_begin , TYPE it_end)
{
if(it_begin != it_end)
{
m_ss<<"<"<<str<<">\n";
//std::for_each(it_begin , it_end, AddXmlOfContAttribute);
for(; it_begin != it_end ; it_begin++)
AddXmlOfContAttribute(it_begin);
m_ss<<"</"<<str<<">\n";
}
}
我得到以下錯誤:
In member function ‘void AddElementToBackupFileFunctor::AddContainerToXml(CrString, TYPE, TYPE) [with TYPE = std::_Rb_tree_const_iterator >]’ instantiated from here error: no matching function for call to
AddElementToBackupFileFunctor::AddXmlOfContAttribute(std::_Rb_tree_const_iterator >&)’
我怎麼做它在正常的循環? 獎金問題:我如何在for_each循環中做到這一點?
好的,調用map函數怎麼樣? 我也可以用TYPE&來稱呼它嗎? – DavidBobo
什麼地圖功能? –
AddXmlOfContAttribute(std :: pair tpair) –
DavidBobo