zsp1024 发表于 2014-7-27 11:58:49

ACTom 发表于 2014-7-28 08:30:46

问题出在:g_signal_connect(G_OBJECT(button),"clicked",
                G_CALLBACK(on_button_clicked),(gpointer)count); 这一句。
这里的userdata你传递的(gpointer)count,实际上就是传递的count当前值,而不是count的地址,所以,每次执行传递的实际上1这个数字,而非count这个变量,如果想要用count,可以改为:
g_signal_connect(G_OBJECT(button),"clicked",
                G_CALLBACK(on_button_clicked),(gpointer)&count);

同时:g_print("%d\n", (gint)userdata);这句改为g_print("%d\n", *(gint *)userdata);
页: [1]
查看完整版本: 【求助】为什么打印的参数不会改变?