If an expression makes an ambiguous reference to a member name, you must use the class name to qualify it. For example, suppose that class C inherits from both class A and class B, and that A and B define a member function named expand. If Cthing is an instance of class C, the following expression is ambiguous:
Cthing.expand()
The following expression resolves the ambiguity and uses B's expand function:
Cthing.B::expand()
The C++ expression evaluator applies normal dominance rules regarding member names to resolve ambiguities.