template<typename T> typedef vector<T>::iterator ITER;这段代码错在哪里
时间: 2024-03-21 12:40:58 浏览: 132
cpp代码-模板 泛型 template<typename> template<class>
这段代码有语法错误,应该修改为:
```cpp
template<typename T>
using ITER = typename std::vector<T>::iterator;
```
原因是使用 `typedef` 声明一个模板别名时,必须使用 `typename` 关键字指明 `vector<T>::iterator` 是一个类型名称。而在 C++11 中,引入了 `using` 声明,可以更直观地定义一个模板别名,因此可以使用 `using` 替代 `typedef`。另外,需要加上 `std::` 限定符,以表明 `vector` 是在 `std` 命名空间中定义的。
阅读全文