title: convert std::bind to function pointer
body: <p>I have a third-party library which has a method that takes a function pointer as the first parameter:</p>
  
  <pre><code>int third_party_method(void (*func)(double*, double*, int, int, double*), ...);
  </code></pre>
  
  <p>I want to pass a pointer to a class' method that is declared as follows:</p>
  
  <pre><code>class TestClass
  {
      public:
          void myFunction (double*, double*, int, int, void*);
  </code></pre>
  
  <p>I tried to pass this function as follows:</p>
  
  <pre><code>TestClass* tc = new TestClass();
  using namespace std::placeholders;
  third_party_method(std::bind(&amp;TestClass::myFunction, tc, _1, _2, _3, _4, _5), ...);
  </code></pre>
  
  <p>However, this does not compile:</p>
  
  <pre><code>Conversion of parameter 1 from 'std::tr1::_Bind&lt;_Result_type,_Ret,_BindN&gt;' to 'void (__cdecl *)(double *,double *,int,int,void *)' is not possible
  with
  [
      _Result_type=void,
      _Ret=void,
      _BindN=std::tr1::_Bind6&lt;std::tr1::_Callable_pmf&lt;void (__thiscall TestClass::* const )(double *,double *,int,int,void *),TestClass,false&gt;,TestClass *,std::tr1::_Ph&lt;1&gt;,std::tr1::_Ph&lt;2&gt;,std::tr1::_Ph&lt;3&gt;,std::tr1::_Ph&lt;4&gt;,std::tr1::_Ph&lt;5&gt;&gt;
  ]
  </code></pre>
  
  <p>Is there any way I can pass the member to the function?</p>