• Advertisement
Sign in to follow this  

getting the address of a member function

This topic is 4230 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, How can I get the address of a member function. I'm getting the following error: error C2440: 'type cast' : cannot convert from 'void (__thiscall Game::* )(void)' to 'Code::System::VOID_CB *' Where VOID_CB is typedef void(* VOID_CB)(); And where I want to use it here: m_pRenderWindow->SetClearCB(&Game::Clear); Thanks for any assistance, exorcist_bob

Share this post


Link to post
Share on other sites
Advertisement
exorcist_bob,

If you are after function pointers, what I like to do is just make something like this:


class X
{
public:

...

void foo ();

static void _foo (void *arg)
{ ((*)arg)->foo (); }
};



You can't pass 'foo' as a member because c++ mangles the name, which leaves you with passing static functions or placing the callback outside the class.

Hope that gets you started,

-brad

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement