提问人:Jonathan Chiou 提问时间:2/6/2014 最后编辑:timrauJonathan Chiou 更新时间:2/6/2014 访问量:47
尝试在 for 循环中有 2 个列表迭代器
Trying to have 2 list iterators in a for loop
问:
我正在尝试使用这个 for 循环遍历 2 个链表:
for (ListNode* thisCurrent = head, ListNode* current = s.head; thisCurrent != NULL,
current != NULL; thisCurrent = thisCurrent->next) {
//do something
}
(注意:这里有一个隐含的参数)
如果我有一个迭代器,程序将完美编译,但如果我尝试添加第二个迭代器(如上所示),程序将根本无法编译。 我得到的错误是:
Expected initializer before the * token
'current' is not declared in this scope
如何有效地声明 for 循环,以便同时创建 thisCurrent 和 current?
答:
2赞
timrau
2/6/2014
#1
它应该写成:
for (ListNode* thisCurrent = head, *current = s.head; thisCurrent != NULL,
current != NULL; thisCurrent = thisCurrent->next) {
不要将类型名称写两次。另外,请检查您的环路终止条件,因为结果完全没有影响。ListNode
thisCurrent != NULL
上一个:优先级队列和 dijkstra
下一个:管道问题(管道破裂)
评论