在我的程序中,QtConcurrent Run不接受我的字符串数组或bool数组。我需要将它们转换为QByteArrays以便传递数据吗?
根据文档,此方法有效:
extern QString someFunction(const QByteArray &input);
QByteArray bytearray = ...;
QFuture<QString> future = QtConcurrent::run(someFunction, bytearray);
...
QString result = future.result();
在我的程序中,这不起作用:
extern void test(string args[]);
string args[7]={"blue"};
QFuture<void> future = QtConcurrent::run(test, args);
错误:C2075-数组初始化需要用大括号括起来的初始化程序列表
答案 0 :(得分:0)
切勿在QtConcurrent :: run中使用C样式数组。请改用C ++ std :: array。谢谢Jesper Juhl!