【发布时间】:2011-02-10 08:13:19
【问题描述】:
我正在尝试编译一些代码,但出现以下错误:
error: invalid use of member (did you forget the ‘&’ ?)
这是来自 g_signal_connect 调用:
g_signal_connect ((gpointer) Drawing_Area_CPU, "expose-event",
G_CALLBACK (graph_expose), NULL);
Drawing_Area_CPU 是 GtkWidget * 和 graph_expose 定义为:
gboolean graph_expose(GtkWidget *widget, GdkEventExpose *event, gpointer data);
据我所知,我做的一切都是正确的,但我仍然收到此错误。有人可以帮忙吗?
更新:
抱歉,我很困惑,我的 graph_expose 函数在一个类中,我正在尝试从该类的构造函数中执行 g_signal_connects,这会以任何方式影响这个问题吗?
【问题讨论】:
-
graph_expose是某个类中的方法还是独立函数? -
@doublep:是的,它是一个独立的函数
-
好吧,我正打算建议某事。沿线
&Class::graph_expose,但由于它不是会员,我不确定。试试&graph_expose是否有效,以防万一。 -
在 g_signal_connect 调用之前是否声明了 graph_expose 函数?
-
您是从成员函数执行此操作并且在范围内有一些
graph_expose成员吗?