2016-04-24 16 views
1

Ist es möglich, durch qmap zu iterieren, wenn Schlüssel und Wert ein Zeiger mit foreach ist?QMap iterate foreach

ich den Fehler immer erhalten: decltype auflösen kann nicht Adresse überladene Funktion

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

    } 

Sie danken für mich

+1

hast du versucht map-> values ​​()? – mike510a

Antwort

1

Als Mike wies darauf hin, helfen, müssen Sie map->values() vor foreach auch normal funktionieren würde nennen.

foreach arbeitet auf Referenzen, und QMap::values() gibt eine Liste von ihnen. Das würde funktionieren:

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

Ich vergaß die() es funktioniert auch nicht mit der Dereferenzierung. – Invader