我正在关注使用auto
关键字和STL迭代器的this教程。
它表示这种语法适用于C ++ 11.
vector<int> vec;
auto itr = vec.iterator(); // instead of vector<int>::iterator itr
但是,当我尝试它时会出现这个编译错误吗?
错误:无效使用'std :: vector :: iterator'
答案 0 :(得分:6)
教程错了。 iterator
是所有集合类中的类型成员,而不是函数成员。它是某些vector
成员函数的返回类型
教程可能的意思是
vector<int> vec;
auto itr = vec.begin(); // itr is of type std::vector<int>::iterator