簡體   English   中英

如何將字符串數組傳遞給 QtConcurrent::run?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM