编译代码崩溃后出现分段错误。通过调试,我已经发现在对象创建期间发生了分段错误:
PriorityQueue_1 priorityQueueYoungTableau;
这是PriorityQueue_1.cpp代码:
这是PriorityQueue_1.h代码:
这是Constants.h代码:
#ifndef PRIORITYQUEUES_CONSTANTS_H
#define PRIORITYQUEUES_CONSTANTS_H
#include <limits.h>
const int MAX_SIZE = 25000;
const int INFINITY = INT_MAX;
#endif //PRIORITYQUEUES_CONSTANTS_H
我在Xubuntu 15.10上使用Clion 1.2.4
我真的无法弄清楚发生了什么。 请帮我。谢谢。
答案 0 :(得分:0)
在PriorityQueue_1.h
中,您使用固定大小的数组:int table_[MAX_SIZE][MAX_SIZE];
您还有MAX_SIZE=25000
;
int table_
的{{1}}是一个很大的东西。假设您的25000x25000
为4个字节,则一个int
需要2.32 Gb。
因此,当您创建一个table_
对象时,您将分配2.32 Gb。 可能是你内存不足。
考虑动态内存分配,只存储您当前需要的部分。