0
我有一个2d数组队列。二维数组的弹出队列
我想查看数组最顶端的元素。数组列表是类型为int **的队列。
int** target = arraylist.pop();
是正确的。然而,
for (int k = 0; k < cities; k++)
for (int m = 0; m < cities; m++)
if (targ[k][m] != 0) <----- segfault here
这是我的首要功能:
template <class T>
T Queue<T>::top()
{
return data[front];
}
和我的队列被声明为
Queue<int**> arraylist;
我知道INT **并不一定意味着INT [X] [Y ],但我很想知道为什么会出现这种情况,以及我可以如何将队列的最顶层条目设置为2d数组变量。
你确定你没有超出界限,或者你的数组在第一时间被正确初始化了吗? – 2014-03-07 05:21:04
我检查了k和m是否超出范围。他们不是。我初始化了我放入队列的2d数组和使用新的临时目标数组。 – carriwitchet
我怀疑只有那4行代码才能确定地回答你的问题。请构建一个[**最小**,**完整**,测试和可读示例](http://stackoverflow.com/help/mcve)并发布。 – Dukeling