class Test{
public:
void work(){
cout << "in work " << endl;
}
void work(int x){
cout << "x = " << x << endl;
}
};
int main(){
Test test;
thread th(std::bind(&Test::work, &test));
th.join();
return 0;
}如上所示,在Test类中,含有两个work函数,函数名相同,但参数不同。我想在main函数中新建一个线程,线程函数为work函数(无参数的那个),请问如何做到?
如果我直接按照上面这样写,会提示找不到确切的函数错误(因为有两个同名的work)。
在thread后面加个参数试试:
thread th(std::bind(&Test::work, &test),10);