0

我有以下代码,我想在 QMap 中找到与等于“tagName”的键关联的值。一旦我将迭代器定位在正确的位置,我想获取这个值(应该是 QStrings 的 QVector),看看我是否能在其中找到我想要的东西。

但是每当我尝试执行 p.value() 时,我的程序就会崩溃。我检查了我的调试器,奇怪的是 p 的键和值在调试面板中显示为“不可访问”......

QMap<QString, QVector<QString> >::iterator p = associations.find(tagName);

int index = p.value().indexOf(noteName);

return (index != -1);

任何帮助或提示将不胜感激!

4

1 回答 1

1

在取消引用之前检查迭代器是否有效,即是否在地图中找到了某些东西:

return p != associations.end() && p.value().indexOf(noteName) != -1;
于 2013-06-06T22:22:15.787 回答