I am trying to set a delegate for a function and have the 2 following classes to achieve that.
On the bottom is the error I'm getting. How do I handle it?
Class A
typedef void (*SocketEventString) (String);
class SocketIO 
{
    public:
        SocketIO();
        void onMessage(SocketEventString _cb);
    private:
        SocketEventString _onMessage;
};
Class B
class BoardManager 
    {
        public:
            BoardManager();
            void handleAction(String action);
            SocketIO io;
    };
//Constructor
BoardManager::BoardManager() {
    io.onMessage(  std::bind( &BoardManager::handleAction, this, std::placeholders::_1 ) );
}
ERROR
sketch/BoardManager.cpp: In member function 'void BoardManager::initializeSocketIO()':
BoardManager.cpp:68: error: no matching function for call to 'SocketIO::onMessage(std::_Bind_helper<false, void (BoardManager::*)(String), BoardManager* const, const std::_Placeholder<1>&>::type)'
     io.onMessage(  std::bind( &BoardManager::handleAction, this, std::placeholders::_1 ) );
                                                                                          ^
sketch/BoardManager.cpp:68:90: note: candidate is:
In file included from sketch/BoardManager.h:10:0,
                 from sketch/BoardManager.cpp:8:
sketch/SocketIO.h:25:18: note: void SocketIO::onMessage(SocketEventString)
             void onMessage(SocketEventString _cb);
 
     
     
    