Pointeurs en paramètre dans GTK (C)
Résolu
cap'tain sheeps
Messages postés
447
Date d'inscription
Statut
Membre
Dernière intervention
-
cap'tain sheeps Messages postés 447 Date d'inscription Statut Membre Dernière intervention -
cap'tain sheeps Messages postés 447 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un problème lors du passage de mon pointeur en paramètre d'une fonction, et plus particulièrement quand je modifie la valeur dans mon pointeur. Voici mon code:
Tout se passe bien à la compilation, mais à l'exécution, il me dis que le programme a cessé de fonctionné, dès que je déclanche ce code, si je ne les met pas en commentaire.
Quelqu'un saurait-il d'où vien ce problème?
Merci d'avance,
Sheeps.
J'ai un problème lors du passage de mon pointeur en paramètre d'une fonction, et plus particulièrement quand je modifie la valeur dans mon pointeur. Voici mon code:
int traitementFichierDesConnections(char * cheminFichierFil, typeTableauConnection tableauConnections, typeTabManuel tabManuel, typeTableauPConnection tableauPConnections, int *pnb_exceptions); [...] void TraitementBoutonGen(GtkWidget* pWidget, gchar* cheminFichierFil, gchar* cheminFichierPro, Continuite continuite, Isolement isolement) { [...] int *pnb_exceptions; //*pnb_exceptions = 0; ligne que je suis obligé de mettre en commentaire nb_connections = traitementFichierDesConnections(cheminFichierFil, tableauConnections, tabManuel, tableauPConnection, pnb_exceptions); aux = *pnb_exceptions; printf("%d", aux); [...] } int traitementFichierDesConnections (char * cheminFichierFil, typeTableauConnection tableauConnections, typeTabManuel tabManuel, typeTableauPConnection tableauPConnection, int *pnb_exceptions) { [... et dans une boucle que j'ai testée et qui fonctionne bien] //(*pnb_exceptions)++; que je suis obligé de mettre en commentaire }
Tout se passe bien à la compilation, mais à l'exécution, il me dis que le programme a cessé de fonctionné, dès que je déclanche ce code, si je ne les met pas en commentaire.
Quelqu'un saurait-il d'où vien ce problème?
Merci d'avance,
Sheeps.
A voir également:
- Pointeurs en paramètre dans GTK (C)
- Paramètre story facebook - Guide
- Remettre parametre usine pc - Guide
- Parametre dns - Guide
- Parametre windows - Guide
- Netflix paramètre compte - Guide
6 réponses
encore une fois, tu en dis trop peu !
Les erreurs d'exécutions viennent en général en C/C++ de pointeurs non initialisés, comme tu ne mets pas tes initialisations ici, impossible de savoir d'où vient l'erreur.
Les erreurs d'exécutions viennent en général en C/C++ de pointeurs non initialisés, comme tu ne mets pas tes initialisations ici, impossible de savoir d'où vient l'erreur.
Re bonjour et encore merci =)
Justement, le problème viens sûrement de là, car je t'ai tout mis et je n'ai pas initialisé mes pointeurs. (je ne suis pas très habitué à les utiliser pour tout te dire)
En fait, non, je ne t'ai pas vraiment tout dis: quand je met int *pnb_exceptions;
Le programme passe tout de même dans ma boucle, me retourne bien la valeur souhaitée et plante à la fin de l'exécution du sous programme.
Quand j'essaye par contre de mettre int *pnb_exceptions = NULL;
Le programme plante directement avant même de passer dans ma boucle.
Enfin tu parlais bien des initialisations du pointeur??? ^^"
Justement, le problème viens sûrement de là, car je t'ai tout mis et je n'ai pas initialisé mes pointeurs. (je ne suis pas très habitué à les utiliser pour tout te dire)
En fait, non, je ne t'ai pas vraiment tout dis: quand je met int *pnb_exceptions;
Le programme passe tout de même dans ma boucle, me retourne bien la valeur souhaitée et plante à la fin de l'exécution du sous programme.
Quand j'essaye par contre de mettre int *pnb_exceptions = NULL;
Le programme plante directement avant même de passer dans ma boucle.
Enfin tu parlais bien des initialisations du pointeur??? ^^"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors, j'ai pas du comprendre grand chose...désolé... Quand je met:
C::B me donne cette erreur:
C:\Documents and Settings\jfaure\Bureau\stage1\testtest\generateur.cpp|30|error: invalid conversion from 'void*' to 'int*'|
Or mon pointeur nécessite d'être un int*, j'immagine qu'il y a un moyen de changer cette obligation du malloc... Est-ce le cas?
int *pnb_exceptions = malloc(sizeof(int));
C::B me donne cette erreur:
C:\Documents and Settings\jfaure\Bureau\stage1\testtest\generateur.cpp|30|error: invalid conversion from 'void*' to 'int*'|
Or mon pointeur nécessite d'être un int*, j'immagine qu'il y a un moyen de changer cette obligation du malloc... Est-ce le cas?