我需要将 map 的每个元素(每对元素的第一个和第二个)插入到一个字符串中。我查找的每个解决方案都会执行与此类似的操作:
for(map<string, int>::iterator iter = theMap.begin(); iter != theMap.end(); ++iter)
{
myString.insert(iter->first);
myString.insert(iter->first);
}
我一直收到错误信息 no matching function for call to 'std::basic_string<char>::insert(const std::basic_string<char>&)'
如何输出 map 的每个元素?特别是在字符串中!
最佳答案
使用 stringstream
为一般人做这件事map
键和值重载 operator<<
.
stringstream makeMyString;
for(map<string, int>::iterator iter = theMap.begin(); iter != theMap.end(); ++iter)
{
makeMyString << iter->first << " " <<iter->second;
}
string myString = makeMyString.str();
关于c++ - 我的 map 迭代器无法访问 map 的每个元素,我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25029210/