problem with multidimensional vector
Sep 1, 2010 at 9:39am UTC
Hello,
I have the following 2-dimensional vector:
vector<vector<double > > grid(numCols, vector<double >(numLines));
I want to insert a value, i.e. "22.0" at the bottom line of the grid. I have tried as follows:
1 2 3
for (int i = 0; i < numCols; i++) {
grid[i][numLines -1] = 22.0;
}
and it always insert the value at the penultimate line instead of the last one...
when I remove the "-1" I get this:
*** glibc detected *** ./explicit-fdm-julienmartin: double free or corruption (!prev): 0x08a92130 ***
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(+0x6b591)[0x590591]
/lib/tls/i686/cmov/libc.so.6(+0x6cde8)[0x591de8]
/lib/tls/i686/cmov/libc.so.6(cfree+0x6d)[0x594ecd]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0x1cb741]
./explicit-fdm-julienmartin[0x804a0c7]
./explicit-fdm-julienmartin[0x8049ed3]
./explicit-fdm-julienmartin[0x8049d3e]
./explicit-fdm-julienmartin[0x80499bb]
./explicit-fdm-julienmartin[0x8049700]
./explicit-fdm-julienmartin[0x8049512]
./explicit-fdm-julienmartin[0x804936b]
./explicit-fdm-julienmartin[0x80490c8]
./explicit-fdm-julienmartin[0x8048d0a]
./explicit-fdm-julienmartin[0x8048a7d]
/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0x53bbd6]
./explicit-fdm-julienmartin[0x8048921]
======= Memory map: ========
00110000-001f9000 r-xp 00000000 08:05 7283335 /usr/lib/libstdc++.so.6.0.13
001f9000-001fa000 ---p 000e9000 08:05 7283335 /usr/lib/libstdc++.so.6.0.13
001fa000-001fe000 r--p 000e9000 08:05 7283335 /usr/lib/libstdc++.so.6.0.13
001fe000-001ff000 rw-p 000ed000 08:05 7283335 /usr/lib/libstdc++.so.6.0.13
001ff000-00206000 rw-p 00000000 00:00 0
00525000-00678000 r-xp 00000000 08:05 3080662 /lib/tls/i686/cmov/libc-2.11.1.so
00678000-00679000 ---p 00153000 08:05 3080662 /lib/tls/i686/cmov/libc-2.11.1.so
00679000-0067b000 r--p 00153000 08:05 3080662 /lib/tls/i686/cmov/libc-2.11.1.so
0067b000-0067c000 rw-p 00155000 08:05 3080662 /lib/tls/i686/cmov/libc-2.11.1.so
0067c000-0067f000 rw-p 00000000 00:00 0
00dab000-00dc8000 r-xp 00000000 08:05 3063988 /lib/libgcc_s.so.1
00dc8000-00dc9000 r--p 0001c000 08:05 3063988 /lib/libgcc_s.so.1
00dc9000-00dca000 rw-p 0001d000 08:05 3063988 /lib/libgcc_s.so.1
00dcb000-00de6000 r-xp 00000000 08:05 3063813 /lib/ld-2.11.1.so
00de6000-00de7000 r--p 0001a000 08:05 3063813 /lib/ld-2.11.1.so
00de7000-00de8000 rw-p 0001b000 08:05 3063813 /lib/ld-2.11.1.so
00e35000-00e36000 r-xp 00000000 00:00 0 [vdso]
00f69000-00f8d000 r-xp 00000000 08:05 3080667 /lib/tls/i686/cmov/libm-2.11.1.so
00f8d000-00f8e000 r--p 00023000 08:05 3080667 /lib/tls/i686/cmov/libm-2.11.1.so
00f8e000-00f8f000 rw-p 00024000 08:05 3080667 /lib/tls/i686/cmov/libm-2.11.1.so
08048000-0804d000 r-xp 00000000 08:01 6947036 /home/julien/NetBeansProjects/explicit-FDM-JulienMartin/dist/Debug/GNU-Linux-x86/explicit-fdm-julienmartin
0804d000-0804e000 r--p 00004000 08:01 6947036 /home/julien/NetBeansProjects/explicit-FDM-JulienMartin/dist/Debug/GNU-Linux-x86/explicit-fdm-julienmartin
0804e000-0804f000 rw-p 00005000 08:01 6947036 /home/julien/NetBeansProjects/explicit-FDM-JulienMartin/dist/Debug/GNU-Linux-x86/explicit-fdm-julienmartin
08a92000-08ab3000 rw-p 00000000 00:00 0 [heap]
b7700000-b7721000 rw-p 00000000 00:00 0
b7721000-b7800000 ---p 00000000 00:00 0
b783f000-b7841000 rw-p 00000000 00:00 0
b7859000-b785c000 rw-p 00000000 00:00 0
bff64000-bff79000 rw-p 00000000 00:00 0 [stack]
Abandon
Can anyone please help?
Julien.
Sep 1, 2010 at 11:11am UTC
The use of grid is correct. Maybe it's your grid drawing code that's out by one.
Topic archived. No new replies allowed.