C ++ ambiguidade de chamada de função de herança múltipla

Eu tenho uma pergunta básica relacionada à herança múltipla em C ++. Se eu tiver um código como mostrado abaixo:

struct base1 {
   void start() { cout << "Inside base1"; }
};

struct base2 {
   void start() { cout << "Inside base2"; }
};

struct derived : base1, base2 { };

int main() {
  derived a;
  a.start();
}

que fornece o seguinte erro de compilação:

1>c:\mytest.cpp(41): error C2385: ambiguous access of 'start'
1>      could be the 'start' in base 'base1'
1>      or could be the 'start' in base 'base2'

Não há como chamar a funçãostart() de uma classe base específica usando um objeto de classe derivad

Não conheço o caso de uso agora, mas .. aind

questionAnswers(2)

yourAnswerToTheQuestion