У меня есть небольшая программа, в которой функция обратного вызова сигнала gtk требует 2 или 3 переменных.
Я не хочу делать эти глобальные переменные (вся цель проекта должна быть аккуратной и аккуратной), и я не хочу создавать целую структуру, чтобы я мог отправлять виджет и скомпилированное регулярное выражение функция.
Насколько я видел, g_signal_connect
допускает только одну переменную данных.
Может ли самый эффективный способ сделать это, возможно, быть массивом указателей void для двух объектов? Что-то вроде этого?
void * data[2];
data[0] = widget;
data[1] = compiledregex;
g_signal_connect(save,"clicked",G_CALLBACK(callbackfunction),data);