C++对象的成员函数作为回调的方法:https://blog.youkuaiyun.com/this_capslock/article/details/17001003
https://blog.youkuaiyun.com/SweetTool/article/details/72811638
问题:不允许对不可访问的基类进行转换
下面的代码会出现不可转换的问题
class IIDMClientCallback {
public:
virtual void onServiceFound(const IDMServiceInfo& service_info) {}
virtual void OnResponse(int request_id, const char* buf, int buf_len) {}
};
class MyIIDMClientCallback : IIDMClientCallback
{
public:
MyIIDMClientCallback() {};
void onServiceFound(const IDMServiceInfo& service_info) {
}
void OnResponse(int request_id, const char* buf, int buf_len) {
}
};
使用
MyIIDMClientCallback * myIIDMClientCallback = new MyIIDMClientCallback();
idmClientApiTmp->RegisterIDM(myIIDMClientCallback);
解决:发现继承的时候没有加public继承