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 :
error: subscripted value is neither array nor pointer
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.

Voici ma fonction
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 ? */
 
                        }
                    }
.......
                }
Merci pour votre aide.