带自定义模板的STL迭代器

Dav*_*idG 4 c++ xcode gcc stl

我有以下模板方法,

template <class T>
void Class::setData( vector<T> data )
{    
    vector<T>::iterator it;
}
Run Code Online (Sandbox Code Playgroud)

我得到以下编译错误(XCode/gcc)

错误:预期`;' 在'它'之前

我在这里发现了其他有类似问题的人(读下来看它是相同的,即使它是从一个不同的问题开始)但他们似乎已经通过更新Visual Studio解决了.这让我觉得它是一个编译器问题而且它应该编译,这是正确的吗?通过索引从0到大小的迭代工作,但它不是我更喜欢实现此功能的方式.还有另一种方法吗?谢谢

dir*_*tly 10

何时使用typename关键字的经典案例.希望你有#include-ed vector并且iteratorusing namespace std;某个范围内.使用:

typename vector<T>::iterator it;
Run Code Online (Sandbox Code Playgroud)

查找依赖名称.从这里开始.