首页 > 解决方案 > 如何解决 C++ 中的中断错误以创建二维矩阵

问题描述

我正在尝试使用 Microsoft Visual Studio 在 C++ 中创建一个尺寸为 200*200 的矩阵,但我遇到了中断错误。但是当尺寸小于 100*100 时代码有效

我得到的休息信息是:

NAPL-Calculation.exe 中 0x7539DDC2 处未处理的异常:Microsoft C++ 异常:内存位置 0x007BE934 处的 std::bad_alloc。

有什么想法可以解决这个问题吗?

int main()
{
    int n,m;
    n=200;
    m=200;
    A=new double*[n*m];  
    for(i=0;i<n*m;i++)
        A[i]=new double[n*m];


return 0;
}

标签: visual-c++

解决方案


我认为解决方案应该是这样的:

int m = 200, n = 200;
int **A;

A = new int*[m];
for(int i=0; i<m; i++){
    A[i] = new int[n];
}

...

for(int i=0; i<m; i++)
    delete [] A[i];
delete [] A;

推荐阅读