A
Size: a a a
A
VD
VD
G
VD
VD
A
G
R
R
AW
class Object {
public:
virtual ~Object() = default;
virtual void f(void *a, void *b, void *c) = 0;
};
class Derived : public Object {
public:
void f(void *a, void *b, void *c) override {
std::cout << "Hello World!" << std::endl;
}
};
int main() {
Derived s;
void (Derived::*Dptr)(void *, void *, void *) = &Derived::f;
void (Object::*Optr)(void *, void *, void *) = reinterpret_cast<void (Object::*)(void *, void *, void *)>(Dptr);
Object *obj = &s;
std::invoke(Optr, obj, nullptr, nullptr, nullptr);
}
AW
R
AW
RN
RN
RN
RN
RN
RN