QMap迭代foreach

时间:2016-04-24 01:59:12

标签: c++ qt qmap

当key和value是带foreach的指针时,是否可以迭代qmap?

我总是得到错误:decltype无法解析重载函数的地址

template <typename T, typename T1>
bool func(T1* subject, QMap<T*,T1*>* map)
{
    //...
    foreach (T1* a, map->values) {

    }

谢谢你的帮助

1 个答案:

答案 0 :(得分:2)

正如Mike指出的那样,您需要在map->values()正常工作之前致电foreach

foreach对引用进行操作,QMap::values()返回它们的列表。这可行:

foreach (T1 a, map->values()) {
    if (a == *subject)
        ...
}