Я пишу простое приложение C с GTK2.Инициализация таблицы GtkWidget * в C
У меня есть небольшая проблема - я должен создать 9x9
таблицу виджетов ввода, так что я думаю, что это хорошая идея, чтобы создать массив GtkWidget
с и использовать его в виде петель и т.д.
Но ... моя программа вылетает, когда я передаю элемент этого массива функции GTK.
Я объявляю массив как это:
GtkWidget* entries[9][9];
позже, у меня есть функция:
void drawBoard(GtkWidget* table, GtkWidget* entries[][9])
{
for(last_i=1; last_i<10; last_i++)
{
for(last_j=1; last_j<10; last_j++)
{
addField(entries[last_i-1][last_j-1],table);
}
}
}
И, наконец, в addField
я использую такую запись:
void addField(GtkWidget* field, GtkWidget *table)
{
field = gtk_entry_new_with_max_length(1);
//rest of code
}
Впоследствии, когда я пытаюсь получить доступ к элементам, которые я инициализировал в коде выше, программа cras ГЭС, например:
void function(GtkWidget *entries[][9])
{
int i,j=0;
for(i=0; i<9; i++)
{
for(j=0; j<9; j++)
{
gtk_entry_set_width_chars(entries[i][j], 2);//<-- here app crashes
}
}
}
Какова ценность 'i',' j', когда он падает? –
i и j - 0 – blidea
mh. Пожалуйста, опубликуйте MWE, с которым мы можем работать в 'gdb', вам интересно. –