Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 二维数组的弹出队列_C++_Arrays_Data Structures_Queue - Fatal编程技术网

C++ 二维数组的弹出队列

C++ 二维数组的弹出队列,c++,arrays,data-structures,queue,C++,Arrays,Data Structures,Queue,我有一个二维数组队列 我想看看数组最上面的条目的元素。数组列表是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 for(int k=0;k

我有一个二维数组队列

我想看看数组最上面的条目的元素。数组列表是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
for(int k=0;k如果(target[k][m]!=0)虽然不在您粘贴的代码中,我想可能是您的
Queue::push()
的实现或您调用您的
Queue::push()的位置造成的

您是否复制了
Queue::push()
工具中的数据


或者你复制了一个指针,而被指向的数据可能已经被释放了?或者更复杂的是,您多次按下同一个指针,其中一个指针被您弹出并释放?

您确定没有越界,或者您的数组在一开始就正确初始化了吗?我检查了k和m是否越界。他们不是。我使用new初始化了我放入队列的2d数组和临时targ数组。我怀疑只有这4行代码,任何人都不能肯定地回答你的问题。请构造一个链接,并将其发布。
template <class T>

T Queue<T>::top()
{
    return data[front];
}
Queue<int**> arraylist;