2016-11-26 4 views
0

私はgtkmmライブラリをC++で使用していますが、現在のタブを変更できる信号を作成しようとしていますが、動作しません。Gtkmmで信号を作成する

実際に私はこの問題は、この行から来ていると思う:

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

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

コードがうまくコンパイルが、実行するときに、私はこの行を取得する:

Segmentation fault 
(program exited with code: 139) 

ご協力いただきありがとうございます!信号が実行された時点で、私はキャプチャはダングリング参照になったと思いますので、

+0

これは、 "信号を生成" されていません。これは、信号に接続しているか、信号ハンドラを信号に接続しています。 – murrayc

答えて

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

あなたは、参照することによりboをキャプチャしています。コピーによって

てみてください(結局、boがポインタである):

menuit->signal_activate().connect([bo]() {bo->next_page();}); 
関連する問題