[Users] dynamic memory
Babiuc-Hamilton, Maria
babiuc at marshall.edu
Tue Mar 6 10:37:39 CST 2012
Hello,
I have a really hard time in trying to declare a temporary array in C++ using Carpet. The same code used to work just fine with Pugh.
The error I am getting at run time is:
malloc: *** error for object 0x102811c08: incorrect checksum for freed object - object was probably modified after being freed.
This appears at the simple attempt to add #include <assert.h> or #include <new> in the header of the file.
The header I am using is:
#include "cctk.h"
#include "cctk_Parameters.h"
#include "cctk_Arguments.h"
//#include <assert.h>
//#include <new>
#include <cmath>
#include <cstdlib>
#include <cstdlib>
#include <cstdio>
using namespace std;
The way I am trying to define the array is
with malloc/free
double *reinarray;
reinarray = (double*)malloc(n*sizeof(double));
assert(reinarray);
.........some code.....
free(reinarray)
with new/delete:
double *reinarray;
reinarray = new double[n];
......some code......
delete[] reinarray;
What I am doing wrong?
thanks,
Maria
More information about the Users
mailing list