C2064:术语未评估为1个参数qtConcurrent :: map的函数

C2064: term does not evaluate to a function taking 1 arguments QtConcurrent::map

本文关键字:qtConcurrent map 函数 参数 术语 评估 C2064 1个      更新时间:2023-10-16

我正在尝试获得一个实现qtConcurrent的基本程序。找到了许多存在类似问题的网站,但是到目前为止,他们的解决方案都不对我有用。

我的代码:

void Setup::addOne(int &i)
{
    ++i;
}
void Setup::Test()
{
    QList<int> list;
    list.append(1);
    QtConcurrent::map(list, &Setup::addOne);
}

尝试构建它显示以下错误:

C2064: term does not evaluate to a function taking 1 arguments

错误是指qtConcurrentMapkernel.h中的以下行:

bool runIteration(Iterator it, int, void *)
{
    map(*it);
    return false;
}

我正在使用QT5。谢谢您的帮助。

非静态成员函数实际上具有隐藏的参数,一个指向对象的指针,该对象变为函数内的 this

除非您需要访问成员变量或调用其他成员功能,否则我建议您制作addOne功能static