我是初学者,通过遵循官方文档学习Gtkmm。
但是这个例子: https://developer.gnome.org/gtkmm-tutorial/stable/sec-menus-examples.html.en#menu-example-main
无效,我遇到了这些错误:
examplewindow.cc: In constructor ‘ExampleWindow::ExampleWindow()’:
examplewindow.cc:18:67: error: no matching function for call to
‘Gio::SimpleActionGroup::add_action(const char [12],
sigc::bound_mem_functor0<void, ExampleWindow>)’
sigc::mem_fun(*this, &ExampleWindow::on_menu_file_new_generic));
^
这段代码指出了上述错误:
refActionGroup->add_action("newstandard",
sigc::mem_fun(*this, &ExampleWindow::on_menu_file_new_generic));
但是“on_menu_file_new_generic”功能确实存在。所以如果回调函数确实存在,那怎么说“没有匹配函数”?
任何帮助?
答案 0 :(得分:1)
由于较旧版本的glibmm库而发生此错误。我当前版本的glibmm是2.37.4,它不支持这种方法。
这个重载的add_action()方法最初出现在glibmm 2.37.6中,所以为了解决这个错误,我需要安装更新版本的glibmm。
希望其他人也能解决他们的错误。