error: need 'typename' before 'QMap<QString, T>::iterator' because 'QMap<QString, T>' is a dependent scope
时间: 2023-12-18 18:02:17 浏览: 154
cpp代码-模板 泛型 template<typename> template<class>
这个错误通常出现在模板类或者嵌套类中。在这种情况下,编译器无法确定QMap<QString, T>::iterator是一个类型还是一个成员变量。为了解决这个问题,需要使用typename关键字告诉编译器QMap<QString, T>::iterator是一个类型。你需要将代码修改为:
```
typename QMap<QString, T>::iterator prevIter;
```
这样编译器就能正确地解析QMap<QString, T>::iterator了。
阅读全文