This is the simplified code:
class a
{
public:
void func( void )
{
//Want to call this
}
int avar;
};
class b : public a
{
public:
void func( void )
{
}
};
class c : public a
{
public:
void func( void )
{
}
};
class d : public b, public c
{
public:
void d1()
{
//b::a::avar;
//c::a::avar;
//b::a::func();
//c::a::func();
}
};
How do you properly qualify a call to access the members of both instances of the subclass a, the things I've tried leads to a 'a is an ambiguous base of d' error. Same question if the hierarchy was one more class deep or if a class template was involved. I'm not looking for a virtual base.