使用 Gtkmm 创建信号

Create a signal with Gtkmm

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

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

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

其中:

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

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

Segmentation fault
(program exited with code: 139)

非常感谢您的帮助!

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

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

复制试试(毕竟bo是一个指针):

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