erreur : "glibc detected" à l'exécution
Bonjour à tous,
J'obtiens une erreur (que je n'avais jamais vue) lorsque je fais appel à une fonction d'affichage. Cette erreur a lieu lors de l'exécution, pas lors de la compilation.
Voici une partie de l'erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
*** glibc detected *** ./projet: free(): invalid pointer: 0x0804e9ac ***
======= Backtrace: =========
/lib/libc.so.6[0x2147e4]
/lib/libc.so.6(cfree+0x96)[0x216846]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0x340a461]
/usr/lib/libstdc++.so.6(_ZNSs4_Rep10_M_destroyERKSaIcE+0x1d)[0x33e62cd]
/usr/lib/libstdc++.so.6(_ZNSsD1Ev+0x63)[0x33e7b33]
./projet[0x8049d0a]
./projet[0x8049d9f]
./projet[0x8049ecd]
./projet[0x8049f41]
./projet[0x8049371]
./projet[0x804be68]
/lib/libc.so.6(__libc_start_main+0xe6)[0x1bd5d6]
./projet(__gxx_personality_v0+0x5d)[0x8048e31]
======= Memory map: ========
00110000-00111000 r-xp 00110000 00:00 0 [vdso]
00187000-001a3000 r-xp 00000000 08:03 22532 /lib/ld-2.8.so
001a3000-001a4000 r--p 0001c000 08:03 22532 /lib/ld-2.8.so
001a4000-001a5000 rw-p 0001d000 08:03 22532 /lib/ld-2.8.so
001a7000-0030a000 r-xp 00000000 08:03 22538 /lib/libc-2.8.so
0030a000-0030c000 r--p 00163000 08:03 22538 /lib/libc-2.8.so
0030c000-0030d000 rw-p 00165000 08:03 22538 /lib/libc-2.8.so
0030d000-00310000 rw-p 0030d000 00:00 0 |
Et voici la fonction en question :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
void stafflist::PrintStaffList(){ //lecture de 4 mots dans un fichier
ifstream fichier( "staff.txt" );
if ( fichier ) // ce test échoue si le fichier n'est pas ouvert
{
int var1;
string var2;
string var3;
string var4;
fichier >> var1 >> var2 >> var3 >> var4;
fichier.close();
}
else
cout << "Impossible d'ouvrir le fichier !" << endl;
} |
Pouvez-vous me dire ce que signifie cette erreur? Il est question de pointeur, mais je n'en utilise pas ...