Code::blocks, SIGSEGV, Segmentation fault. In ?? ()
David191212
Messages postés
270
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous, je cherche à débugger une segfault présente dans code::blocks,
Malheureusement la call stack ne s'affiche pas correctement
à la place j'ai des ?? ()
Pouvez vous m'aider s'il vous plait
Voici un code minimal d'exemple
alors que je devrais voir quelque chose comme "In main()"
Malheureusement la call stack ne s'affiche pas correctement
à la place j'ai des ?? ()
Pouvez vous m'aider s'il vous plait
Voici un code minimal d'exemple
#include <iostream>
using namespace std;
int main()
{
int *plop;
cout << *plop << endl;
return 0;
}
Program received signal SIGSEGV, Segmentation fault.
In ?? () ()
alors que je devrais voir quelque chose comme "In main()"
| EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Sigsegv
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
1 réponse
- plop, c'est un pointeur.
En écrivant *plop, tu demandes à accéder à la variable pointée par plop. Mais il n'y en a pas. Ton programme a juste plop.
Tu dois allouer la mémoire avec new:
int *plop = new int(0);
Pour libérer la mémoire :
delete plop;
Ou alors te passer de pointeurs.
Glân von Brylân, développeur et étudiant en informatique, à votre service !
Essayez mon éditeur de texte, GpaWa Editor, si vous en avez marre du bloc-notes.