我正在使用以下类似的函数计算一些值并将它们存储在变量中:
array<array<double,1000>,1000> index;
sum(double A, ..., array<array<double, 1000>,1000> & index);
我快速查看了数组的索引数组,发现在上述声明执行时它已经被填充了值。没问题。
但是!当我调用另一个函数并使用该索引数组时,其声明如下:
average(..., array<array<double,1000>,1000> index, ...)
我遇到了一个未处理的异常(Stack Overflow),然后被重定向到一个asm文件(chkstk.asm):
test dword ptr [eax],eax ; probe page.
有什么办法可以解决这个问题吗?
vector<array<double,1000>> index(1000);
。直接使用new
通常是个不好的主意。 - Mike Seymour