Czy jest możliwe podklasowanie struktury C w C ++ i używanie wskaźników do struktury w kodzie C?
Czy istnieje taki efekt uboczny:
Kod C:
struct foo {
int k;
};
int ret_foo(const struct foo* f){
return f.k;
}
Kod C ++:
class bar : public foo {
int my_bar() {
return ret_foo( (foo)this );
}
};
Jestextern "C"
wokół kodu C ++ i każdy kod znajduje się we własnej jednostce kompilacji.
Czy jest to przenośne w kompilatorach?