Я пытаюсь использовать boost для передачи функции в QtConcurrent.
QFutureWatcher<GDALDataset> watcher;
QFuture<GDALDataset> future;
GDALDriver *poNITFDriver;
future = QtConcurrent::run(boost::bind(
&GDALDriver::CreateCopy,
poNITFDriver,
pszDstFilename,
poDataset,
FALSE,
papszOptions,
pfnProgress,
NULL
));
watcher.setFuture(future);
где poNITFDriver - это экземпляр класса, содержащий метод.
Что я здесь не так делаю? Я получаю следующие ошибки компиляции:
ошибка: нет соответствия для operator=
в будущем = QtConcurrent::run(FunctionObject)
с FunctionObject
= boost::_bi::bind_t<GDALDataset*, boost::_mfi::mf6<GDALDataset*, GDALDriver, const char*, GDALDataset*, int, char**, int (*)(double, const char*, void*), void*>, boost::_bi::list7<boost::_bi::value<GDALDriver*>, boost::_bi::value<const char*>, boost::_bi::value<GDALDataset*>, boost::_bi::value<bool>, boost::_bi::value<char**>, boost::_bi::value<int (*)(double, const char*, void*)>, boost::_bi::value<long int> > >