title: Ambiguous call to overloaded function in Base class
body: <p>I have a class A with overloaded functions and derived class with overridden function.</p>
  
  <pre><code>class A
  {
  public:
      virtual void func1(float)
      {
          cout&lt;&lt;"A::func1(float) "&lt;&lt; endl;
      }
      void func1(int)
      {
          cout&lt;&lt;"A::func1(int) "&lt;&lt; endl;
      }
  };
  
  class B: public A
  {
  public:
      //using A::func1;
  
    void func1(float)
    {
        cout &lt;&lt; " B::Func1(float)" &lt;&lt; endl;
    }
  };
  
  int main()
  {
      B obj;
      A obj1;
  
      obj.func1(10);
      obj1.func1(9.9);   // Getting error in call
  
      return 0;
  }
  </code></pre>
  
  <p>error C2668: 'A::func1' : ambiguous call to overloaded function</p>
  
  <p>Could anyone explain?</p>
  
  <p>Thanks</p>