Bonjour,
Je suis débutant en programmation et essaye actuellement de réaliser un sudoku en C en utilisant gtk+.
J'ai écrit une fonction pour manipuler ma barre de menu et assigner une fonction à chaque élément du menu.
Dans un premier temps, je souhaite initialiser ma grille à 0 en utilisant gtk_entry_set_text et mettre des zéros dans toutes les cases.
Cela fonctionne directement après la création des widgets gtkEntry (widget[i][j]=gtk_entry_new(); ) mais pas dans ma fonction qui gère les événements.
J'obtiens une belle erreur à la compilation :ligne 24 dans l'extrait de code . J'ai pensé à un problème de paramètre de la fonction, mais après plusieurs heures passées à m'arracher les cheveux je n'ai toujours pas trouvé comment résoudre mon problème.error: subscripted value is neither array nor pointer
Voici ma fonction
Merci pour votre aide.
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
26
27
28
29
30 static GtkWidget* widget[9][9]; .... for (i =0; i<9; i++) { for (j=0;j<9;j++) { widget[i][j]=gtk_entry_new(); //gtk_entry_set_text(GTK_ENTRY(widget[i][j]), "0"); /*fonctionne parfaitement ici*/ } } .... g_signal_connect(menuItem,"activate",G_CALLBACK(menuEvenement), NULL); .... static void menuEvenement(GtkWidget *widget, gpointer data) { if(strcmp(gtk_menu_item_get_label(GTK_MENU_ITEM(widget)),"Grille vide") == 0 )//si le label de l'élément du menu correspond à grille vide, on inscrit 0 dans toutes les cases { int i,j; for (i=0;i<9;i++) { for (j=0;j<9;j++) { gtk_entry_set_text(GTK_ENTRY(widget[i][j]), "0"); /* mais pas ici, problème de paramètres ? */ } } ....... }
Partager