This problem was reported long ago in bug
https://bugzilla.gnome.org/show_bug.cgi?id=306705. I've tried to find a solution, but I didn't quite succeed. You'll have to do with a workaround. Paul suggested one workaround, although I wonder if it's really a workaround for your problem. It looks like a way to select the correct Activity::callback() when there are several overloaded ones. I mentioned another workaround in comment 4 in that bug report. In your case it would be foo(sigc::slot<void, Glib::ustring*>(sigc::mem_fun(*this, &Activity::callback))); which is almost identical to what you've used yourself. Kjell Den 2016-02-07 kl. 10:46, skrev
Mike Fleetwood:
Thank you Paul, This was just the nudge in the right direction I needed. Creating an intermediate variable of the required slot type was what was needed so the compiler could choose between the overloaded functions. For my test case it looks like this: sigc::slot<void, Glib::ustring *> activity_slot = sigc::mem_fun(*this, &Activity::callback); foo(activity_slot); |