作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,所以我首先开始学习 C#,现在我正在学习 C++,所以我对它有点陌生。
在 C# 中,当我想访问列表中的列表时,我会简单地使用嵌套的 for-each 循环。
因为在 C++ 中我不知道如何使用 for-each 循环,所以我尝试使用 for 循环访问嵌套列表。
这是我的代码:
int main
{
list<list<char *> > moves;
list<char *> pointers;
list<list<char> > undoValues;
list<char> undoValue;
for(list<list<char *> >::iterator outer=moves.begin();outer!=moves.end();outer++)
{
for(list<char *>::iterator inner=outer.begin();inner!=outer.end();inner++)
{
}
}
}
我得到 2 个错误:
error 'struct std::_List_iterator<std::list<char*>,std::allocator<char *> > >' has no member named begin
error 'struct std::_List_iterator<std::list<char*>,std::allocator<char *> > >' has no member named end
如何访问嵌套列表?
最佳答案
您需要取消对迭代器的引用才能到达元素。您可以使用 *
或 ->
:
for(list<char *>::iterator inner=outer->begin();inner!=outer->end();inner++)
或
for(list<char *>::iterator inner=(*outer).begin();inner!=(*outer).end();inner++)
关于c++ - 如何在 C++ 中访问列表中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11562618/
我是一名优秀的程序员,十分优秀!