我知道这个问题会被标记为重复,因为我也在SO上阅读了几个类似的问题。但不幸的是,没有一个答案对我有用。我尝试了所有的'作为最后一个选项我想问。
void AsyncClass::method1()
{
cout << "method is called" << endl;
}
void AsyncClass::method2()
{
auto t = new std::thread(this->method1);
}
这两种方法都是公共的和非静态的。这不会编译说
非标准语法;使用&#39;&amp;&#39;创建指向成员的指针
还考虑了SO的答案我试过了
auto t = new std::thread(this->method1);
auto t = new std::thread(this->*method1);
auto t = new std::thread(&(this->method1));
auto t = new std::thread(&AsyncClass::method1);
他们都没有编译过。它的正确方法是什么?
答案 0 :(得分:2)
你应该这样做:
row