成员的无效使用(您是不是忘记了«&»?)
Posted
技术标签:
【中文标题】成员的无效使用(您是不是忘记了«&»?)【英文标题】:invalid use of member (did you forget the «&» ?)成员的无效使用(您是否忘记了«&»?) 【发布时间】:2015-02-21 13:54:58 【问题描述】:示例代码.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);
...
出现错误:成员使用无效(您是否忘记了«&»?)
我的问题是什么?
【问题讨论】:
您可以编辑您的帖子以包含完整的错误消息吗? 这是完整的错误信息.. 完整的错误消息将包括行号,有时甚至包括有问题的行。根据您的问题,我们必须猜测错误在您的源代码中的位置。 【参考方案1】:this->Quit
不是一个有效的表达式;只能用于直接调用函数。
获取成员函数地址的语法是&My::Quit
。
函数必须是静态成员或非成员才能用作回调。
【讨论】:
以上是关于成员的无效使用(您是不是忘记了«&»?)的主要内容,如果未能解决你的问题,请参考以下文章
第 3 行的块标记无效:“原始”。您是不是忘记注册或加载此标签?使用 Django 1.9 和 Jinja2