title: Function inside namespace in header file, declaration with 'using' in cpp file not compiling
body: <p>In <code>myfunction.h</code>, I declare the function <code>myFunction()</code> inside the namespace <code>MyNamespace</code>:</p>
  <pre><code>namespace MyNamespace{
    void myFunction();
  }
  </code></pre>
  <p>In <code>myfunction.cpp</code>, I include the implementation:</p>
  <pre><code>#include &quot;myfunction.h&quot;
  
  void MyNamespace::myFunction(){
     std::cout&lt;&lt;&quot;My function&quot;&lt;&lt;std::end;
  }
  </code></pre>
  <p>Everything compiles fine.</p>
  <p>If instead in the <code>.cpp</code>, I write:</p>
  <pre><code>using namespace MyNamespace;
  
  void myFunction(){
     std::cout&lt;&lt;&quot;My function&quot;&lt;&lt;std::end;
  }
  </code></pre>
  <p>I get an &quot;Undefined Symbol&quot; error during linking. Why?</p>
  <p>If instead of a function, I declare a class in the header file, and the implementation of a method of that class in the <code>.cpp</code> file, I have no issue.</p>