Согласно https://www.ibm.com/docs/en/i/7.5? Объявление B :: x скрыта A :: x .
struct A {
int x;
};
struct B: A {
int x;
};
struct C: A, B {
void f() { x = 0; }
};
int main() {
C i;
i.f();
}
< /code>
Это правильно? Это звучит нелогично для меня, поэтому я попытался копировать его на https://cpp.sh/, чтобы скомпилировать его. Это не компилировало успешно, из -за неоднозначности.
Подробнее здесь: https://stackoverflow.com/questions/781 ... -inherited