sor*_*ont -1 c++ heap visual-studio
我的程序中有大约+30个动态分配的数组,每个区域的定义如下:
int Nx = 240;
int Ny = 240;
double* array = new double(Nx*Ny);
Run Code Online (Sandbox Code Playgroud)
我可以为其中的16个分配值,但是一旦我到达第17个,它就会抛出seg错误!
这是抛出它的代码,完全没问题!
for (int i = 0; i < Nx*Ny; i++) {
array[i] = 0;
}
Run Code Online (Sandbox Code Playgroud)
我真的不知道为什么,我想要用完堆,但因为我有4GB的RAM应该是不可能的!我正在使用MSVS15并在Windows 10上运行该程序!
知道为什么会这样吗?确切的错误:
在ecostress.exe中0x00298389处抛出异常:0xC0000005:访问冲突写入位置0x01D2B000.如果存在此异常的处理程序,则可以安全地继续该程序.
小智 6
简单的拼写错误:
double* array = new double(Nx*Ny); // creates a single, initialized double
double* array = new double[Nx*Ny]; // creates an array of doubles
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |