2016-04-24 10 views
1

keyとvalueがforeachを持つポインタの場合、qmapを反復処理できますか?QMap iterate foreach

は、私は常にエラーを取得:decltypeは、オーバーロードされた関数のアドレスを解決することはできません

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

    } 

はマイクが指摘したように、私

+1

あなたはmap-> values()を試しましたか? – mike510a

答えて

1

を助けてくれてありがとう、あなたも正常に動作しますmap->values()foreach前に呼び出す必要があります。

foreachは参照を処理し、QMap::values()はそれらのリストを返します。これは動作します:

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

私はそれを参照解除していないことも忘れていました。 – Invader

関連する問題