title: Creating Min Heap from STL Priority Queue
body: <p>I am creating a min heap from stl priority queue. Here is my class which I am using.</p>
  
  <pre><code>class Plane
  {
    private :
      int id ;
      int fuel ;
   public:
      Plane():id(0), fuel(0){}
      Plane(const int _id, const int _fuel):id(_id), fuel(_fuel) {}
  
      bool operator &gt; (const Plane &amp;obj)
      {
          return ( this-&gt;fuel &gt; obj.fuel ? true : false ) ;
      }
  </code></pre>
  
  <p>} ;</p>
  
  <p>In main I instantiate an object thus.</p>
  
  <pre><code> priority_queue&lt;Plane*, vector&lt;Plane*&gt;, Plane&gt; pq1 ;
   pq1.push(new Plane(0, 0)) ;
  </code></pre>
  
  <p>I am getting an error from <code>xutility</code> which I am unable to understand. </p>
  
  <blockquote>
    <p>d:\microsoft visual studio 10.0\vc\include\xutility(674): error C2064: term does not evaluate to a function taking 2 arguments</p>
  </blockquote>
  
  <p>Any help to its solution would be appreciated.</p>