我确信这个问题有另一种解决方案,但我真的很想了解为什么我的解决方案无效
int n;
class Segtree
{
public:
int *s, size, h, *cl, *t; string a;
int open, close, total;
void init(string input,int siz)
{
size = siz;
n = size;
t = new int[size * 4];
cl = new int[size * 4];
s = new int[size * 4];
a = input;
build();
};
}
我正在动态地将内存分配给类中的数组,但是我在结果here中找到了内存分配错误。 在此之后我静态分配了内存。在课堂内,但每次我在所有3个阵列中分配大约10 ^ 6大小我得到段错误。请注意,如果数组是全局的,则不会发生此段错误。将一个大约10 ^ 7大小分配给类中的int数组的好方法是什么?