[英]How do you wait for `QtConcurrent::run` to finish without thread blocking?
[英]How do you pass a string array into QtConcurrent::run?
在我的程序中,QtConcurrent Run 不接受我的字符串數組或布爾數組。 我是否需要將它們轉換為 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-- 數組初始化需要大括號括起來的初始化列表
切勿在 QtConcurrent::run 中使用 C 樣式數組。 改用 C++ std::array 。 謝謝傑斯珀·尤爾!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.