QtConcurrent :: run()调用另一个类方法

时间:2018-03-13 12:46:28

标签: c++11 qt5 unique-ptr qtconcurrent

我正在尝试使用QTConcurrent类以异步方式启动某些任务,但是我遇到了一些错误:

这是我的代码:

class A {
  public:
  void method1();
};
class B {
 std::unique_ptr<A> ptr;
 public:
  void method2() {
     QtConcurrent::run(&this->ptr, &A::method1);
  }
}

我收到编译错误。

有人能告诉我正确的语法是什么吗?

提前致谢并问候

1 个答案:

答案 0 :(得分:0)

我终于找到了工作版本:

class A {
 public:
 void method1();
};
class B {
  std::unique_ptr<A> ptr;
 public:
  void method2() {
    QtConcurrent::run(this->ptr.get(), &A::method1);
  }
}