我正在尝试使用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> > >