title: type/value mismatch at argument 3 in template parameter list
body: <p>I am almost successful in implementing huffmann code. I am encountering an error, the error goes like this:</p>
  
  <pre><code>&gt;&gt;prog.cpp: In function 'int main()':
  &gt;&gt;prog.cpp:49:57: error: type/value mismatch at argument 3 in template parameter list for 'template&lt;class _Tp, class _Sequence, class _Compare&gt; class std::priority_queue'
  
  &gt;&gt;priority_queue&lt;Node*,vector&lt;Node*&gt;,comparitor&lt;Node*&gt;&gt; pq;
                                                           ^
  &gt;&gt;prog.cpp:49:57: note: expected a type, got 'comparitor' Node*&gt;
  </code></pre>
  
  <p>I have tried pointers before, this is the first time I am getting such error.</p>
  
  <p>Can anyone explain, why such error arise? Here is my commented code: </p>
  
  <pre><code>#include &lt;iostream&gt;
  using namespace std;
  #include&lt;queue&gt;
  class Node{
      public:
      int freq;
  };
  template&lt;typename T&gt;
  bool comparitor(T a, T b)
  {
      if(a-&gt;freq&gt;b-&gt;freq)
      {return true;
      }
      else{
          return false;
      } // this is for the min heap
  }
  
  int main() {
          priority_queue&lt;Node*,vector&lt;Node*&gt;,comparitor&lt;Node*&gt;&gt; pq;// min heap please, comparitor is just for node and not a template, though I could have easily created that.
  }
  </code></pre>