Use static_cast to resolve this problem
|
Delegate(std::shared_ptr<Class> object, ReturnType(Class:: *member)(Args...)) |
|
: Delegate(std::make_shared<MemberMethod<Class>>(std::move(object), member)) { } |
struct base
{
void foo() { std::cout << "foo"; }
};
struct derived : public base {};
auto object = std::make_shared<derived>();
auto delegate = Platform::Delegates::Delegate((std::shared_ptr<base>)object, &derived::foo);
delegate();
Use
static_castto resolve this problemDelegates/cpp/Platform.Delegates/Platform.Delegates.Delegate.h
Lines 35 to 36 in 77ae748