会员使用无效(您是否忘记了“&”?)

kir*_*eut 2 c++ gtk class

示例代码.h

\n\n
class My {\npublic:\n    My();\n    ~My();\n    void Quit();\nprivate:\n};\n
Run Code Online (Sandbox Code Playgroud)\n\n

示例代码.cpp

\n\n
void My::Quit()\n{\n    gtk_main_quit();\n}\n\nMy::My()\n{\n    ...\n\n    item = gtk_menu_item_new_with_label("Quit");\n    gtk_widget_show(item);\n    gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);\n    g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(this->Quit), NULL);\n\n    ...\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

收到错误:成员的无效使用(您是否忘记了 \xc2\xab&\xc2\xbb ?)

\n\n

我的问题是什么?

\n

Mik*_*our 5

this->Quit不是有效的表达式;它只能用于直接调用该函数。

获取成员函数地址的语法是&My::Quit

该函数必须是静态成员或非成员才能用作回调。