0

我正在使用带有 C++ 的 gtkmm 库,并且我正在尝试创建一个允许更改当前选项卡的信号,但它不起作用。

其实我认为问题出在这一行:

menuit->signal_activate().connect([&bo]() {bo->next_page();}); 

在哪里:

menuit = Gtk::MenuItem
bo = Gtk::Notebook

代码编译得很好,但是在执行时我得到了这一行:

Segmentation fault
(program exited with code: 139)

非常感谢您的帮助!

4

1 回答 1

1
menuit->signal_activate().connect([&bo]() {bo->next_page();});

您是bo通过引用捕获的,所以在执行信号时,我猜捕获变成了一个悬空引用。

拷贝试试(毕竟bo是指针):

menuit->signal_activate().connect([bo]() {bo->next_page();});
于 2016-11-26T19:15:12.603 回答