2
我試圖執行DLL函數__stdcall
調用約定使用QtConcurrent::run()
,但我得到編譯錯誤。QtConcurrent :: run()不接受__stdcall/WINAPI函數
我已經減少了問題,這個例子代碼:
__stdcall void dllFunc() {
qDebug() << "test";
}
void test() {
QtConcurrent::run(dllFunc);
}
如果我刪除__stdcall
代碼編譯並運行正常。否則,我得到這些編譯錯誤:
error: invalid conversion from 'void (*)()' to 'void (*)()'
error: initializing argument 1 of 'QFuture<T> QtConcurrent::run(T (*)()) [with T = void]'
爲什麼會發生這種情況,什麼是最好的解決方法?