Bonjour,
je souhaiterais dans une fonction ateindre une variable de type int* qui est dans un structure, elle meme contenue dans une structure , pour modifié le chiffre pointé.
voici mes typedef et ma fonctio:
et je definie mon donnee2 comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 typedef struct _data { GtkWidget* fixed; char** t; int* ptaillet; char* pcarrap; int* pchoix; int* number; }data; typedef struct _data2 { data* donnee; int nombre; }data2; void bouton( data2* donnee2) { *(donnee2->donnee->number)=donnee2->nombre ; g_print("choix vaut = %d",*(donnee2->donnee->pchoix)); gtk_main_quit(); }
j'appel ma fonction "fonctionbouton" avec comme argument "&donnee".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 void fonctionbouton ( data* donnee) { i=1; donnee2.donnee = donnee; donnee2.nombre = i; g_signal_connect(buttonc, "clicked", G_CALLBACK(bouton), &donnee2); }
mon bouton est créer mais je n'ai pas copier le code.
donnee et donnee2 sont bien declaré.
j'ai determiner en debuguant que l'erreur etai dans la fonction bouton, au niveau des 2 operations mais je ne comprend pas pourquoi.
recevant un Segmentation fault.
je ne suis pas tres sur de ce que je fait quand il sagit de pointeur, et encore moins en pointeurs sur struct->struct ...
pouvez vous me donnez un coup de pouce?
merci
Partager