в Ret(C2::*)(Args…) для хранения, и потом конвертировать обратно в Ret(C1::*)(Args…) без потери значения под указателем, если C1 и C2 не связаны?
В моём понимании можно кастовать Ret(C::*)(Args...) хоть к void(Foo::*)()
Т.е. любой указатель в любой, при условии что при использовании, мы скастуем к оригинальному?
проблема такого решения, что мы фиксируем типы
У каждого решения pros and cons есть
Ну по сути какие варианты: 1)Требовать объект сразу: +: обосраться нельзя типы не фиксированы -: нужен объект 2) Требовать объект в рантайме через typeid: +: типы не фиксированы не нужен объект на этапе создания мапы коллбеков -: рантайм проверка 3) Зафиксировать типы(вариант ручной или обычный): +: не нужен объект -: можно ошибиться
Обсуждают сегодня