сишную библиотечную фунцию в качестве колбека не существует?
https://pastebin.com/H1yDt59k
//-----------------------EXAMPLE CODE--------------------- using cb_t = void(*)(); void c_api_func_with_callback(cb_t cb) { cb(); } struct Foo { int a {0}; void some_member() {std::cout << a << std::endl;} void another_member_with_same_signature() {std::cout << a + 2 << std::endl;} }; int main() { Foo obj {5}; //you can omit non-type Tag parameter if you are using member function with unique signature auto func_ptr = instatiate(&obj, &Foo::some_member); c_api_func_with_callback(func_ptr); Foo obj2 {10}; //use Tag parameter to disambiguate call auto new_func_ptr = instatiate<2>(&obj2, &Foo::another_member_with_same_signature); c_api_func_with_callback(new_func_ptr); }
Нет. Легко сделать маленький адаптер .
Обсуждают сегодня