title: Non-static const member, can't use default assignment operator
body: <p>A program I'm expanding uses <code>std::pair&lt;&gt;</code> a lot.</p>
  
  <p>There is a point in my code at which the compiler throws a rather large:</p>
  
  <blockquote>
    <p>Non-static const member, 'const Ptr std::pair, const double*>::first' can't use default assignment operator</p>
  </blockquote>
  
  <p>I'm not really sure what this is referring to?
  Which methods are missing from the Ptr class?</p>
  
  <p>The original call that causes this problem is as follows:</p>
  
  <pre><code>vector_of_connections.pushback(pair(Ptr&lt;double,double&gt;,WeightValue*));
  </code></pre>
  
  <p>Where it's putting an <code>std::Pair&lt;Ptr&lt;double,double&gt;, WeightValue*&gt;</code> onto a vector, where <code>WeightValue*</code> is a const variable from about 3 functions back, and the <code>Ptr&lt;double,double&gt;</code> is taken from an iterator that works over another vector.</p>
  
  <p>For future reference, <code>Ptr&lt;double,double&gt;</code> is a pointer to a <code>Node</code> object.</p>