title: std::bind a static member function inside the class
body: <p>I am trying to store a function to call later, here is a snippet.</p>
  
  <p>This works fine:</p>
  
  <pre><code>void RandomClass::aFunc( int param1, int param2, double param3, bool isQueued /*= false */ )
  {
      /* If some condition happened, store this func for later */
      auto storeFunc = std::bind (&amp;RandomClass::aFunc, this, param1, param2, param3, true);
  
      CommandList.push( storeFunc );
  
      /* Do random stuff */
  }
  </code></pre>
  
  <p>However, if RandomClass is static, so I believe I should do this:</p>
  
  <pre><code>void RandomClass::aFunc( int param1, int param2, double param3, bool isQueued /*= false */ )
  {
      /* If some condition happened, store this func for later */
      auto storeFunc = std::bind (&amp;RandomClass::aFunc, param1, param2, param3, true);
  
      CommandList.push( storeFunc );
  
      /* Do random stuff */
  }
  </code></pre>
  
  <p>But this doesn't work, I get the compile error</p>
  
  <p>error C2668: 'std::tr1::bind' : ambiguous call to overloaded function</p>
  
  <p>Any help appreciated.</p>