Можно ли разделить структуру C на C ++ и использовать указатели на структуру в C-коде?

Есть ли побочный эффект в этом:

Код C:

struct foo {
      int k;
};

int ret_foo(const struct foo* f){ 
    return f.k; 
}

Код C ++:

class bar : public foo {

   int my_bar() { 
       return ret_foo( (foo)this ); 
   }

};

Там'сextern "C" вокруг кода C ++, и каждый код находится внутри собственного модуля компиляции.

Это переносимо через компиляторы?

Ответы на вопрос(10)

Ваш ответ на вопрос