M
struct library {
void* user_data = nullptr;
void (*callback)(void*);
void notify() {
if(callback)
callback(user_data);
}
};
есть твой класс, который будет обрабатывать это событие от библиотеки:class client {
public:
void handler() {}
};
void client_handler(void*user_data) {
client* ptr = reinterpret_cast<client*>(user_data);
ptr->handler();
}
как в этом случае поступают?
client c;
library lib;
lib.user_data = &c;
lib.callback = &client_handler;
...
// где-то в недрах библиотеки
lib.notify();
Эта физика понятна?