QMap迭代foreach

QMap iterate foreach

当key和value是foreach的指针时,是否可以遍历qmap?

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

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

    }

谢谢你帮助我

正如迈克指出的那样,您需要在 foreach 正常工作之前调用 map->values()

foreach 对引用进行操作,QMap::values() returns 对引用进行操作。这会起作用:

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