c++ - How can I cast or convert boost bind to C function pointer? -
suppose have this:
void func(wchar* pythonstatement) { // pythonstatement } and need convert void function(void) this:
bind(func, text("console.write('test')")) now have struct this:
typedef void (__cdecl * pfuncplugincmd)(); struct funcitem { pfuncplugincmd pfunc; // ... }; how can set pfunc of struct bind(func, "something")? bind returns lambda_functor not function pointer, how can cast functor function pointer?
thanks.
ended using the wrapping "solution" (github)
i think can't, unless make resulting lamba_functor global variable.
in case, declare function invokes it:
void uglyworkaround() { globallambdafunctor(); } and set pfunc uglyworkaround().
edit
sidenote: if binding static text function call, may omit bind() call , write just:
void wrapper() { func(text("console.write('test')")); } and set pfunc wrapper().
Comments
Post a Comment