Я новичок и изучаю 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» существует. Итак, если функция обратного вызова существует, то почему она говорит «нет соответствующей функции»?
Любая помощь?
Эта ошибка возникает из-за более старой версии библиотеки glibmm. Моя текущая версия glibmm — 2.37.4, которая не поддерживает этот метод.
Этот перегруженный метод add_action () впервые появился в glibmm 2.37.6, поэтому, чтобы обойти эту ошибку, мне нужно установить более новую версию glibmm.
Надеюсь, что другие также смогут исправить свои ошибки.