M
Maurice
Hi,
Is it legal to cast from void(*)(A*) to void(*)(B*)?
Is it legal to cast from struct Derived{Base b; ...} to struct Base?
I'm trying to get some inheritance and polymorphism in C
and I end up with the following code:
struct Base {
void(*func)(struct Base*);
};
struct Derived {
struct Base base;
/* ... */
};
void derived_func(struct Derived* d) {}
int main() {
struct Derived d = {{derived_func} /*...*/ };
struct Base* b = &d;
b->func(b);
}
Thank you.
Is it legal to cast from void(*)(A*) to void(*)(B*)?
Is it legal to cast from struct Derived{Base b; ...} to struct Base?
I'm trying to get some inheritance and polymorphism in C
and I end up with the following code:
struct Base {
void(*func)(struct Base*);
};
struct Derived {
struct Base base;
/* ... */
};
void derived_func(struct Derived* d) {}
int main() {
struct Derived d = {{derived_func} /*...*/ };
struct Base* b = &d;
b->func(b);
}
Thank you.