我正在使用带有C ++的gtkmm库,我正在尝试创建一个允许更改当前选项卡的信号,但它不起作用。
实际上我认为问题来自这一行:
menuit->signal_activate().connect([&bo]() {bo->next_page();});
其中:
menuit = Gtk::MenuItem
bo = Gtk::Notebook
代码编译得很好,但在执行时我得到这一行:
Segmentation fault
(program exited with code: 139)
非常感谢你的帮助!
答案 0 :(得分:1)
menuit->signal_activate().connect([&bo]() {bo->next_page();});
您通过引用捕获bo
,因此在执行信号时,我猜捕获变成了悬空参考。
尝试复制(毕竟,bo
是一个指针):
menuit->signal_activate().connect([bo]() {bo->next_page();});