title: Using a std::vector<double> in call but getting an error about std::vector<double, std::allocator<double> > being used
body: <p>I have a function that creates a vector, then calls a class constructor with that vector as an input, but it returns with an error saying </p>
  
  <pre><code>undefined reference to Class::Class(std::vector&lt;double, std::allocator&lt;double&gt; &gt;)
  </code></pre>
  
  <p>The class has a constructor for a </p>
  
  <pre><code>std::vector&lt;double&gt;
  </code></pre>
  
  <p>but not a </p>
  
  <pre><code>std::vector&lt;double, std::allocator&lt;double&gt; &gt;
  </code></pre>
  
  <p>Some example code:</p>
  
  <pre><code>std::vector&lt;double&gt; x1;
  std::vector&lt;double&gt; x2;
  std::vector&lt;double&gt; myvec;
  double thisX;
  
  for (int i=0; i&lt;x1.size(); i++ {
      thisX = x1[i];
      myvec.push_back(thisX);
  }
  for (int i=0; i&lt;x2.size(); i++ {
      thisX = x2[i];
      myvec.push_back(thisX);
  }
  
  Class MyClass( myvec );
  // has a constructor for std::vector&lt;double&gt;
  // compiler throws the undefined reference to 
  // Class::Class(std::vector&lt;double, std::allocator&lt;double&gt; &gt;)
  </code></pre>
  
  <p>Any insight is appreciated! I'm relatively new to C++ if it wasn't obvious.</p>