D
dick
/* multi_level_inheritance.cpp */
struct A
{
int a;
};
struct B1 : public A
{
int a;
};
struct B2 : public A
{
int a;
};
struct C : public B1, public B2
{
int a;
};
int main()
{
C ccc;
ccc.a=123;
ccc.B1::a=456;
/* 0030 */ ccc.B1::A::a=789;
}
// c++ multi_level_inheritance.cpp
// multi_level_inheritance.cpp: In function int main():
// multi_level_inheritance.cpp:30: error: A is an ambiguous base of C
// how can I access A::a?
struct A
{
int a;
};
struct B1 : public A
{
int a;
};
struct B2 : public A
{
int a;
};
struct C : public B1, public B2
{
int a;
};
int main()
{
C ccc;
ccc.a=123;
ccc.B1::a=456;
/* 0030 */ ccc.B1::A::a=789;
}
// c++ multi_level_inheritance.cpp
// multi_level_inheritance.cpp: In function int main():
// multi_level_inheritance.cpp:30: error: A is an ambiguous base of C
// how can I access A::a?