gpt4 book ai didi

c++ - 在 C++ 中遍历对列表的正确方法?

转载 作者:行者123 更新时间:2023-11-30 00:42:43 28 4
gpt4 key购买 nike

我创建了一个 unordered_map 对列表,如下所示:

list<pair<int, unordered_map<int, bool>>> calc;

我正在尝试从右到左迭代列表,如下所示:

for (list<int>::reverse_iterator rit = calc.rbegin(); rit != calc.rend(); ++rit) 
{
int d = n - (*rit).first;

}

但是上面的错误信息是“request for member ‘first’ in ‘rit.std::reverse_iterator<_Iterator>::operator*<std::_List_iterator<int> >()’, which is of non-class type ‘int’

我是不是漏掉了一些语法?

最佳答案

list<int>::reverse_iterator rit = calc.rbegin();

不正确。必须是

list<pair<int, unordered_map<int, bool>>>::reverse_iterator rit = calc.rbegin();

你可以让你的生活更简单并使用:

auto rit = calc.rbegin();

关于c++ - 在 C++ 中遍历对列表的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58527730/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com