I'm asking the <thread>
library in C++11 standard.
Say you have a function like:
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??*/);
}
How do you pass in all of those arguments into the thread? I tried listing the arguments like:
std::thread(func1, a,b,c,d);
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?
This question is related to
c++
multithreading
c++11
Had the same problem. I was passing a non-const reference of custom class and the constructor complained (some tuple template errors). Replaced the reference with pointer and it worked.
If you're getting this, you may have forgotten to put #include <thread>
at the beginning of your file. OP's signature seems like it should work.
Source: Stackoverflow.com