title: C++ pure virtual function inheritance (same signature)
body: <p>Why is this not compiling?<br>
  error C2660: 'Concrete::WriteLine' : function does not take 1 arguments<br>
  I know if i add the Line:<br>
  //using AbstractBase::WriteLine;<br>
  it works, but i dont understand why.</p>
  
  <pre><code>#include "iostream" 
  
  class AbstractBase
  {
  public:
     virtual void WriteLine() = 0;
     virtual void WriteLine( int i )
     {
        std::cout&lt;&lt;"AbstractBase"&lt;&lt;std::endl;
     }
  };
  
  class Concrete : public AbstractBase
  {
  public:
     //using AbstractBase::WriteLine;
     virtual void WriteLine()
     {
        std::cout&lt;&lt;"Concrete Sub Class"&lt;&lt;std::endl;
     }
  };
  
  int main()
  {
     Concrete ff;
     ff.WriteLine();
     ff.WriteLine(1);
     return 0;
  }
  </code></pre>
  
  <p>Can someone explain me what happens here.
  Thanx</p>
  
  <hr>
  
  <p>Does anyone knows if this behavior is a defined behavior from the C++ standart. 
  Is it mentioned in the C++ standart?
  Or is it just a kind of compiler behavior?</p>