I have a callback mechanism, the classes involved are:
class App
{
void onEvent(const MyEvent& event);
void onEvent(const MyOtherEvent& event
I think you need to disambiguate the address of the overloaded function. You can do this by explicitly casting the function pointer to the one with the correct parameters.
boost::bind( static_cast<void (App::*)( MyEvent& )>(&App::OnEvent) , this, _1);
Similar problem + solution on gamedev.net
You are going to want to do
boost::function<void (const MyEvent&)> g = boost::bind(&App::OnEvent, this, _1);
You should be able to do g(event); with that
I am not quite sure what you are trying to accomplish here, but that should solve one of your problems for now.