visual-c++ - 如何解决 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;
}
解决方案
我认为解决方案应该是这样的:
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;
推荐阅读
- sql-server - 在两次之间选择
- python - Python在列中转换不同的日期格式
- c# - System.InvalidOperationException:ItemsControl 与其项目源不一致
- vb.net - 试图从本地 DataTable 中获取 ListBox 所选项目的总和到标签中
- javascript - 我们是否需要使用 async/await 将返回值包装到 Promise 中?
- apache - 使用 .htaccess mod_rewrite 将部分 URL 重写到特定页面
- html - 一个 div 与另一个 div 对接时包装,而不是堆叠在其上
- c# - 无法加载文件或程序集 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一
- go - 在golang中动态创建结构数组
- ruby-on-rails - RSpec Controller 测试屏幕上的文本失败