Неопределенность вызова функции множественного наследования C ++

У меня основной вопрос, связанный с множественным наследованием в C ++. Если у меня есть код, показанный ниже:

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

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

struct derived : base1, base2 { };

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

, который дает следующую ошибку компиляции:

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'

Нет возможности вызвать функцию start () из определенного базового класса с использованием производного класса объект?

Я пока не знаю варианта использования, но ... все же!

40
задан nonsensickle 16 June 2015 в 01:32
поделиться