私は gtk シグナル コールバック関数が 2 つまたは 3 つの変数を必要とする小さなプログラムを持っています。
私はこれらのグローバル変数を作成したくありません (プロジェクトの全体的な目標はきちんと整理整頓することです)。ウィジェットとコンパイル済みの正規表現を関数に送信できるようにするためだけに、構造体全体を作成したくありません。
私が見たg_signal_connect
限りでは、単一のデータ変数しか許可されていません。
これを行う最も効率的な方法は、問題の 2 つのオブジェクトへの void ポインターの配列でしょうか? このようなもの?
void * data[2];
data[0] = widget;
data[1] = compiledregex;
g_signal_connect(save,"clicked",G_CALLBACK(callbackfunction),data);