My program dynamically allocates memory to an array of objects :
class particle
{
public:
int x[D],shifted,ID;
particle()
{
shifted=0;
ID=-1;
}
};
// Array of all the particles
particle* particles;
int main()
{
for(a=0;a<s_num;a++)
{
particles= new particle[num];
//some code
........
........
for(i=num-1;i>=0;i--)
{
delete (particles+i);
}
}
}
But it gave an error as follows ....
*** glibc detected *** ./a.out: munmap_chunk(): invalid pointer: 0x09072f68 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6[0xb7cc5604]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7ea8231]
./a.out[0x804a6a6]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7c6c775]
./a.out[0x8048d11]
======= Memory map: ========
08048000-0804e000 r-xp 00000000 08:03 13130 /media/disk/c++/DLC/a.out
0804e000-0804f000 r--p 00005000 08:03 13130 /media/disk/c++/DLC/a.out
0804f000-08050000 rw-p 00006000 08:03 13130 /media/disk/c++/DLC/a.out
08050000-08059000 rw-p 08050000 00:00 0
09071000-092c3000 rw-p 09071000 00:00 0 [heap]
b7c55000-b7c56000 rw-p b7c55000 00:00 0
b7c56000-b7db2000 r-xp 00000000 08:05 50941 /lib/tls/i686/cmov/libc-2.9.so
b7db2000-b7db3000 ---p 0015c000 08:05 50941 /lib/tls/i686/cmov/libc-2.9.so
b7db3000-b7db5000 r--p 0015c000 08:05 50941 /lib/tls/i686/cmov/libc-2.9.so
b7db5000-b7db6000 rw-p 0015e000 08:05 50941 /lib/tls/i686/cmov/libc-2.9.so
b7db6000-b7db9000 rw-p b7db6000 00:00 0
b7db9000-b7dc6000 r-xp 00000000 08:05 32641 /lib/libgcc_s.so.1
b7dc6000-b7dc7000 r--p 0000c000 08:05 32641 /lib/libgcc_s.so.1
b7dc7000-b7dc8000 rw-p 0000d000 08:05 32641 /lib/libgcc_s.so.1
b7dc8000-b7dc9000 rw-p b7dc8000 00:00 0
b7dc9000-b7ded000 r-xp 00000000 08:05 50945 /lib/tls/i686/cmov/libm-2.9.so
b7ded000-b7dee000 r--p 00023000 08:05 50945 /lib/tls/i686/cmov/libm-2.9.so
b7dee000-b7def000 rw-p 00024000 08:05 50945 /lib/tls/i686/cmov/libm-2.9.so
b7def000-b7ed3000 r-xp 00000000 08:05 759861 /usr/lib/libstdc++.so.6.0.10
b7ed3000-b7ed7000 r--p 000e3000 08:05 759861 /usr/lib/libstdc++.so.6.0.10
b7ed7000-b7ed8000 rw-p 000e7000 08:05 759861 /usr/lib/libstdc++.so.6.0.10
b7ed8000-b7ede000 rw-p b7ed8000 00:00 0
b7ef4000-b7ef8000 rw-p b7ef4000 00:00 0
b7ef8000-b7ef9000 r-xp b7ef8000 00:00 0 [vdso]
b7ef9000-b7f15000 r-xp 00000000 08:05 34480 /lib/ld-2.9.so
b7f15000-b7f16000 r--p 0001b000 08:05 34480 /lib/ld-2.9.so
b7f16000-b7f17000 rw-p 0001c000 08:05 34480 /lib/ld-2.9.so
bfeef000-bff04000 rw-p bffeb000 00:00 0 [stack]
Aborted
Any idea where i m going wrong....