针对c语言写的结构体接口,想在c++中实现接口实例,并调用c++实例中的参数
用lambda函数在[]中用=或者this传递会导致编译不通过,不添加变量只用[]就能 编译通过
问AI给出的方案是用static修饰函数,但是static修饰后,无法使用this实例,
外部新建一个类继承接口,内部用一个私有变量,在编译阶段也无法通过
最后各种查资料后妥协,在接口中添加一个void*变量用于传递this指针 参考如下
protocol_interface.func_get_random=[](void* param_external) -> unsigned int{
SocketClient* client=(SocketClient*)param_external;
myDebugMsg(client->name);
myDebugMsg("func_get_random");
return 0;
};//不报错

浙公网安备 33010602011771号