title: Pass multiple arguments into std::thread
body: <p>I'm asking the <code>&lt;thread&gt;</code> library in C++11 standard. </p>
  
  <p>Say you have a function like: </p>
  
  <pre><code>void func1(int a, int b, ObjA c, ObjB d){
      //blahblah implementation
  }
  
  int main(int argc, char* argv[]){
      std::thread(func1, /*what do do here??*/);
  }
  </code></pre>
  
  <p>How do you pass in all of those arguments into the thread? I tried listing the arguments like: </p>
  
  <pre><code>std::thread(func1, a,b,c,d);
  </code></pre>
  
  <p>But it complains that there's no such constructor. One way to get around this is defining a struct to package the arguments, but is there another way to do this? </p>