针对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;
        };//不报错
posted @ 2025-05-19 14:52  小城熊儿  阅读(11)  评论(0)    收藏  举报