【发布时间】:2014-08-26 12:13:26
【问题描述】:
我正在尝试使用 STL 在 C++ 中为 BFS 编写代码。这是我遇到问题的代码部分
std::list<int> li=*i;
for (std::list<int>::iterator iter=li.begin(); iter!=li.end();++iter)
{
if (arr[iter]==0)
{
myQ.push(iter);
arr[iter]=1;
这里的 arr 是存储我是否看到节点的数组。我得到了错误
"arr[iter] 中的运算符 arr[] 不匹配
【问题讨论】:
-
arr的定义是什么? -
问题是关于
arr,但是你没有发布arr的定义是什么。 -
iter 是一个迭代器,所以是一种指针,而不是整数。这会在你的 arr[] 中造成麻烦,除非它被定义为一个地图。
-
std::list<int> li=*i;这会复制整个列表。