title: Why should I use the "using" keyword to access my base class method?
body: <p>I wrote the below code in order to explain my issue. If I comment the line 11 (with the keyword "using"), the compiler does not compile the file and displays this error: <code>invalid conversion from 'char' to 'const char*'</code>. It seems to not see the method <code>void action(char)</code> of the <code>Parent</code> class in the <code>Son</code> class. </p>
  
  <p>Why the compiler behave this way? Or have I done something wrong?</p>
  
  <pre><code>class Parent
  {
      public:
          virtual void action( const char how ){ this-&gt;action( &amp;how ); }
          virtual void action( const char * how ) = 0;
  };
  
  class Son : public Parent
  {
      public:
          using Parent::action; // Why should i write this line?
          void action( const char * how ){ printf( "Action: %c\n", *how ); }
  };
  
  int main( int argc, char** argv )
  {
      Son s = Son();
      s.action( 'a' );
      return 0;
  }
  </code></pre>