title: Name followed by '::' must be class or namespace error even though the '::' is following a class name
body: <p>I'm trying to make a priority queue implementation in C++. I have created a header file called 'priority_queue.h' which contains the definition of my class, alongside a template defining a generic type. I also have a file where I implement my method defined in the class definition in a file called 'priority_queue.cpp' where I include 'priority_queue.h'. Both my text editor and compiler are throwing errors, although they seem to be different.</p>
  
  <p>I've looked up other questions on StackOverflow and other sites, I've even straight up copy-pasted some code from online answers that were supposedly correct and even those didn't work.</p>
  
  <p>Here is the code in my 'priority_queue.h' header file</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;vector&gt;
  #include &lt;iterator&gt;
  
  using namespace std;
  
  template &lt;typename T&gt;
  
  class pqueue{
      public:
          pqueue();
          void insert(T element, int priority);
  
      private:
          vector&lt;T&gt; elements(); //This vector will store our data in the correct order
  
  };
  </code></pre>
  
  <p>Here is the code from my 'priority_queue.cpp' file</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;iterator&gt;
  #include &lt;vector&gt;
  #include "priority_queue.h"
  
  using namespace std;
  
  template &lt;typename T&gt;
  
  void pqueue::insert(T element, int priority){
  
  }
  </code></pre>
  
  <p>The compiler throws an error and says <code>'template&lt;class T&gt; class pqueue' used without template parameters</code>.</p>
  
  <p>My text editor gives me an error that says <code>name followed by '::' must be a class or namespace name</code></p>
  
  <p>I'm on a Dell XPS 13 9370 with the i7 8550U, 16GB of RAM and 256GB SSD running Windows 10 Home Version 1903 and my text editor is Microsoft Visual Studio Code Insiders.</p>