【发布时间】:2020-07-31 16:34:06
【问题描述】:
我只需要读取std::map 中的前两个元素。
这是我的代码:
#include<iostream>
#include<map>
#include<iterator>
using namespace std;
int main() {
map<int,int> a;
map<int,int>:: iterator itr;
itr = a.begin();
cout<<itr->first<<" "<<itr->second<<endl;
next(itr);
cout<<itr->first<<" "<<itr->second<<endl;
return 0;
}
我收到此错误:
next未在作用域中声明
我在这里缺少什么以及是否有更好的方法?
【问题讨论】:
-
适用于我,使用 gcc 9。也许您使用的是不支持 c++11 的旧 C++ 编译器?
-
@SamVarshavchik : 任何替代解决方案
-
std::advance(iter, 1); -
是的。还有其他方法可以增加迭代器。有关更多信息和示例,请参阅 C++ 教科书。
-
看看是否可以在编译器命令行中添加
-std=c++11或类似的命令行。