title: error C2825: '_Container': must be a class or namespace when followed by '::'
body: <p>I added priority_queue to my code. When I do, I get this error:</p>
  
  <p>error C2825: '_Container': must be a class or namespace when followed by '::'</p>
  
  <p>it leads to line 218 of the queue file: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\queue</p>
  
  <pre><code>#include "node.h"
  typedef std::pair&lt;Nodes*, unsigned int&gt; PathDistPair;
  
  struct PairComparator
  {
      bool operator()(PathDistPair i, PathDistPair j)
      {
          return i.first &gt; j.first;
      }
  };
  
  
  
  MinHeap;
  typedef std::priority_queue&lt;float, PathDistPair*, PairComparator&gt; MinHeap;
  </code></pre>
  
  <p>in node.h:</p>
  
  <pre><code>class Node;
  typedef std::vector&lt;Node*&gt; Nodes;
  
  
  class Node
  {
  ....
  </code></pre>
  
  <p>This is right up there in the "least helpful error messages" award category. I have no idea what to do about this, other than giving up and coming up with my own priority_queue.</p>