title: C++ multiple inheritance function call ambiguity
body: <p>I have a basic question related to multiple inheritance in C++. If I have a code as shown below:</p>
  
  <pre><code>struct base1 {
     void start() { cout &lt;&lt; "Inside base1"; }
  };
  
  struct base2 {
     void start() { cout &lt;&lt; "Inside base2"; }
  };
  
  struct derived : base1, base2 { };
  
  int main() {
    derived a;
    a.start();
  }
  </code></pre>
  
  <p>which gives the following compilation error:</p>
  
  <pre><code>1&gt;c:\mytest.cpp(41): error C2385: ambiguous access of 'start'
  1&gt;      could be the 'start' in base 'base1'
  1&gt;      or could be the 'start' in base 'base2'
  </code></pre>
  
  <p>Is there no way to be able to call function <code>start()</code> from a specific base class using a derived class object?</p>
  
  <p>I don't know the use-case right now but.. still!</p>