示例代码.h
class My {
public:
My();
~My();
void Quit();
private:
};
示例代码.cpp
void My::Quit()
{
gtk_main_quit();
}
My::My()
{
...
item = gtk_menu_item_new_with_label("Quit");
gtk_widget_show(item);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(this->Quit), NULL);
...
}
收到错误:无效使用会员(你忘记了«&»?)
我的问题是什么?
答案 0 :(得分:3)
this->Quit
不是有效的表达;它只能用于直接调用函数。
获取成员函数地址的语法是&My::Quit
。
该函数必须是静态成员或非成员才能用作回调。