title: C++ using statement in member function scope
body: <p>If I want to use a member of a template base class from a template derived class, I have to bring it into scope as such:</p>
  
  <pre><code>template &lt;typename T&gt;
  struct base
  {
      void foo();
  };
  
  template &lt;typename T&gt;
  struct derived : base&lt;T&gt;
  {
      using base&lt;T&gt;::foo;
  };
  </code></pre>
  
  <p>Why can't I place this using statement into a local scope, like other using statements?</p>
  
  <pre><code>template &lt;typename T&gt;
  struct base
  {
      void foo();
  };
  
  template &lt;typename T&gt;
  struct derived : base&lt;T&gt;
  {
      void f()
      {
          using base&lt;T&gt;::foo;  // ERROR: base&lt;T&gt; is not a namespace
      }
  };
  </code></pre>