【发布时间】:2020-08-28 23:39:48
【问题描述】:
我正在编写一个程序,其中需要计算 n x n 矩阵的条目
n=1000。
如果我在我的代码中写了以下两行,我会得到一个stackoverflow错误消息:
const int n = 1000;
double matrix[n][n];
错误信息:
Cubic spline.exe 中 0x010E1ED9 处的异常错误:0xC00000FD:堆栈溢出(参数:0x00000000、0x00292000)
我怎样才能增加堆栈大小,或者您认为还有其他方法可以解决问题吗?
【问题讨论】:
-
为什么
matrix需要存在于堆栈中? -
对不起,我不明白这个问题。我对编程很陌生。通过研究,我认为问题在于堆栈大小。
-
在这种情况下,您需要阅读一些内容。有一个精选的 C++ 书籍列表here。
-
你可以把它作为一个全局变量来解决这个问题。但是,我讨厌建议任何人这样做。
-
请注意,这种方法不能很好地扩展。随着您深入编程并且必须编写更大或更复杂的程序,您会看到全局变量真的开始下降,希望您会接触到更好的方法like this one(这是其中一个链接中的第二个答案@drescherjm 张贴在上面)。哦,请注意蓝色语言。有些孩子可能会发现该评论。
标签: c++ matrix stack size overflow