const int L=10;
std::complex<double> c_array[L][L][L][L][L][L] // 6 dimensions
所需空间:2 * 8 * 10 ^ 6字节
它不应该耗尽所有内存,对吗?
答案 0 :(得分:8)
每个进程都有一个堆栈大小限制。因此,如果您确实想在本地(在堆栈中)创建此数组,唯一的解决方案是增加程序的堆栈大小限制。如何更改堆栈大小限制取决于您的操作系统。
替代方法是在堆中创建此数组。为此,您必须使用“new”关键字,如下所示。
std::complex<double> *c_array = new std::complex<double>[L][L][L][L][L][L];