title: Passing parameter to boost::thread no overloaded function takes 2 arguments
body: <p>From the boost::thread documentation it seems that I can pass parameters to the thread function by doing this:</p>
  
  <pre><code>boost::thread* myThread = new boost::thread(callbackFunc, param);
  </code></pre>
  
  <p>However, when I do this the compiler complains that </p>
  
  <blockquote>
    <p>no overloaded function takes 2 arguments</p>
  </blockquote>
  
  <p>My code:</p>
  
  <pre><code>#include &lt;boost/thread/thread.hpp&gt;
  void Game::playSound(sf::Sound* s) {
      boost::thread soundThread(playSoundTask, s);
      soundThread.join();
  }
  
  void Game::playSoundTask(sf::Sound* s) {
      // do things
  }
  </code></pre>
  
  <p>I am using the copy of boost that came with Ogre3d, which I suppose could be very old. Interestingly, though, I took a look at thread.hpp and it does have the templates for constructors with 2 or more parameters.</p>