Bonjour tout le monde,
Je ne voulais vraiment pas poser de questions comme ca ici, mais comme je ne comprend vraiment pas mon erreur, vous etes en quelques sorte ma derniere chance. Voici mon code :
Les 3 petits points sont d'autres parties du code... qui ne touche pas au pointeur tabBin[iCam].
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 .... if(nbSeg[iCam+1]>0) tabBin[iCam]=new LineBin[nbSeg[iCam+1]]; .... if(tabBin[iCam]!=NULL) { cout<<"****_"<<tabBin[iCam]<<endl; delete(tabBin[iCam]); tabBin[iCam]=NULL; }
Voila donc c'est assez simple, le message d'erreur est le suivant :
Donc, moi, je ne comprends pas en quoi le pointeur est invalide et en quoi il y a une erreur...*** glibc detected *** free(): invalid pointer: 0x080a464c ***
Program received signal SIGABRT, Aborted.
[Switching to Thread -1226942784 (LWP 23401)]
0xffffe410 in __kernel_vsyscall ()
(gdb) where
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7a679a1 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7a692b9 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7a9b87a in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
#4 0xb7aa1fd4 in malloc_usable_size () from /lib/tls/i686/cmov/libc.so.6
#5 0xb7aa234a in free () from /lib/tls/i686/cmov/libc.so.6
#6 0xb7c438b1 in operator delete () from /usr/lib/libstdc++.so.6
#7 0x080509b8 in main (argc=2, argv=0xbfa31d54) at visual8.cpp:544
Merci d'avance a tout le monde.
p.s : desole pour les accents, je suis en ce moment sur un clavier americain.
Partager