Создать сигнал с помощью Gtkmm

Я использую библиотеку gtkmm с C ++, и я пытаюсь создать сигнал, который позволяет изменить текущую вкладку, но она не работает.

На самом деле я думаю, что проблема исходит из этой строки:

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

Куда:

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

Код хорошо компилируется, но при выполнении я получаю следующую строку:

Segmentation fault
(program exited with code: 139)

Большое спасибо за вашу помощь!

0

Решение

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

Вы захватываете bo по ссылке, так что во время выполнения сигнала я думаю, что захват стал висячей ссылкой.

Попробуйте скопировать (в конце концов, bo это указатель):

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]