Sym
23-01-2005, 23:34
Hi,
ich habe folgendes Problem: Ich habe ein double-Array wie folgt angelegt:
if(_dim && _bandWidth) {
_matrix = new (double*)[2*_bandWidth+1];
for(unsigned int i=0; i<2*_bandWidth+1; i++) {
_matrix[i] = new double[_dim];
for(unsigned int j=0; j<_dim; j++)
_matrix[i][j] = 0.0;
}
}
Im Destruktor steht folgendes:
for(unsigned int i=0; i<2*_bandWidth+1; i++)
delete [] _matrix[i] ;
delete [] _matrix;
doch immer wenn ich das im Destruktor stehen habe, bekomme ich folgende Meldung(en):
*** malloc[4223]: Deallocation of a pointer not malloced: 0x20; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
Woran kann das liegen? Woanders gebe ich den Speicher nicht frei.
ich habe folgendes Problem: Ich habe ein double-Array wie folgt angelegt:
if(_dim && _bandWidth) {
_matrix = new (double*)[2*_bandWidth+1];
for(unsigned int i=0; i<2*_bandWidth+1; i++) {
_matrix[i] = new double[_dim];
for(unsigned int j=0; j<_dim; j++)
_matrix[i][j] = 0.0;
}
}
Im Destruktor steht folgendes:
for(unsigned int i=0; i<2*_bandWidth+1; i++)
delete [] _matrix[i] ;
delete [] _matrix;
doch immer wenn ich das im Destruktor stehen habe, bekomme ich folgende Meldung(en):
*** malloc[4223]: Deallocation of a pointer not malloced: 0x20; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug
Woran kann das liegen? Woanders gebe ich den Speicher nicht frei.