我正在尝试向单声道添加内部调用,如下所示:
void addCall(char *name, char *amx_name)
{
AMX_NATIVE native = sampgdk::FindNative(name);
void(*natcall)() = []()
{
//Can't access native here... :(
callNative(native);
};
mono_add_internal_call(name, (void *)natcall);
}
内部调用应该调用带有一些数据的方法(指向本机的指针,AMX_NATIVE)。但是,无法在 lambda 代码中访问该值。
当您使用变量捕获( [&]() { ... } )时,无法将 lambda 代码转换为我需要调用 mono_add_internal_call 的 void *。
有人能想出解决这个问题的方法吗?