Есть функция
void Test::go(QFutureInterface<void> &future,int &test)
{
static const int iterations = 10*1000*1000;
for (int i=test; i < iterations; i++) {
if (future.isCanceled())
break;
future.setProgressValue(100.0*i/iterations);
QObject *object = new QObject;
object->setObjectName("QObject");
delete object;
}
}
Пытаюсь вызвать её:
void Test::on_pushButton_clicked()
{
QFutureWatcher<void> * watcher = new QFutureWatcher<void>();
QObject::connect(watcher, SIGNAL(progressValueChanged(int)), ui->progressBar, SLOT(setValue(int)));
int num=10;
QFuture<void> future;
future = QtConcurrent::run(this,&Test::go,num);
watcher->setFuture(future);
}
Компилятор выдает
no matching function for call to 'run(Test* const, void (Test::*)(QFutureInterface<void>&, int&), int&)'
Как мне все-таки вызвать функцию с параметром?