如何 运行 QtConcurrrent Qt6 的成员函数?输入 'decay_t cannot be used prior to '::' 因为它没有成员)

how to run a membber function with QtConcurrrent Qt6? type 'decay_t cannot be used prior to '::' because it has no members)

我正在尝试 运行 一个成员函数,但我遇到了一个错误,请帮助我

我试过这行代码

QFuture 未来 = QtConcurrent::run(this,&backD::analysa);

analysa() 是一种 returns qlonglong

的方法

我在问这里和 QtConcurrent::run(this->analysa()) 之前尝试了很多版本;是其中之一,我看起来像 lambda 形式只适用于 void 而我正在使用 qlonglong。 她是我的会员 methode analysa

 qlonglong  backD::analysa()
{
QString currentPath = tabWidget::currentWidget()->fsCurrentPath();
qlonglong size=0;

QDirIterator it(currentPath,QStringList()<<"*.*",QDir::Files,QDirIterator::Subdirectories);
while(it.hasNext())
{


    QFileInfo infos(it.next());

    size += infos.size();

}
return size;}

尝试 QtConcurrent::run([this]{ return analysa(); });QtConcurrent::run([this] -> qlonglong { return analysa(); });,以适合您的情况为准。