title: Does not name a type error for c++ namespace
body: <p>So I was building a C++ program and I have no idea how to solve this namespace issue. I am running on C++17 so there shouldn't be an issue with nested namespaces. I keep getting the error on line 3 in the <code>.cpp</code> file. </p>
  
  <p>This is the <code>.h</code> file:</p>
  
  <pre><code>#include &lt;memory&gt;
  #include "Entity.h"
  
  namespace Hearthstonerepl::Action
  {
      class Playcard
      {
      private:
          std::unique_ptr&lt;Entity&gt; card;
  
      public:
          Playcard(std::unique_ptr&lt;Entity&gt;&amp; Card);
          ~Playcard() = default;
      };
  }
  </code></pre>
  
  <p>And this is the <code>.cpp</code> file:</p>
  
  <pre><code>#include "Playcard.h"
  
  namespace Hearthstonerepl::Action // error: expected ‘{’ before ‘::’ token
                                    //‘Action’ in namespace ‘::’ does not name a type
  {
      Playcard::Playcard(std::unique_ptr&lt;Entity&gt;&amp; Card)
      {
          card = std::move(Card);
      }
  }
  </code></pre>
  
  <p>Thanks!</p>