Есть ли побочный эффект при этом:
C-код:
struct foo {
int k;
};
int ret_foo(const struct foo* f){
return f.k;
}
Код С++:
class bar : public foo {
int my_bar() {
return ret_foo( (foo)this );
}
};
Там extern "C"
вокруг кода С++, и каждый код находится внутри собственной единицы компиляции.
Является ли это переносимым для всех компиляторов?