title: Bind2nd issue with user-defined class
body: <p>I'm trying to learn how to use bind2nd with user-defined classes, but I'm getting an error that I can't figure out how to fix despite my efforts of looking into other resources for assistance.</p>
  
  <p>Help would be appreciated, thank you.</p>
  
  <p><strong>main.cpp</strong></p>
  
  <pre><code>#include &lt;algorithm&gt;
  #include &lt;vector&gt;
  
  class F
  {
  public:
    int operator()(int a, int b)
    {
      return a * b;
    }
  };
  
  int main(void)
  {
    std::vector&lt;int&gt; bases;
  
    for(int i = 0; i &lt; 5; ++i)
      bases.push_back(i);
  
    std::transform(bases.begin(), bases.end(), bases.begin(), std::bind2nd(F(), 2));
    // Error C2664: '_OutIt std::transform&lt;std::_Vector_iterator&lt;_Myvec&gt;,std::_Vector_iterator&lt;_Myvec&gt;,
    // std::binder2nd&lt;_Fn2&gt;&gt;(_InIt,_InIt,_OutIt,_Fn1)' : cannot convert parameter 4 from
    // 'std::binder2nd&lt;_Fn2&gt;' to 'std::binder2nd&lt;_Fn2&gt;'
  }
  </code></pre>