当前位置: 代码迷 >> QT开发 >> QMultiMap中使用foreach的有关问题
  详细解决方案

QMultiMap中使用foreach的有关问题

热度:140   发布时间:2016-04-25 05:01:47.0
QMultiMap中使用foreach的问题
QMultiMap<QString,QMap<QString,QString> > item;
......
foreach(QString key, item.keys()){
  foreach(QMap<QString,QString> kv, item.values(key)){
  // 将key和kv写入xml文件
  WriteItem(key,kv);
  }
}
出现“宏“Q_FOREACH”传递了 3 个参数,但只需要 2 个”,"‘Q_FOREACH’在此作用域中尚未声明"错误提示。
如果将第二个foreach(foreach(variables ,container)原型)中的variables改为普通数据类型,则是正确的。
请问:
1 错误的原因
2 如何遍历item
现行谢过

------解决方案--------------------
C/C++ code
typedef QMap<QString,QString> QStringPairMap;QMultiMap<QString, QStringPairMap> item;......foreach(QString key, item.keys()){  foreach(QStringPairMap kv, item.values(key)){  // 将key和kv写入xml文件  WriteItem(key,kv);  }}