【发布时间】:2013-07-02 14:54:59
【问题描述】:
我尝试使用QtConcurrent::run() 执行具有__stdcall 调用约定的DLL 函数,但出现编译错误。
我已将问题简化为以下示例代码:
__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]'
为什么会发生这种情况,最好的解决方法是什么?
【问题讨论】:
标签: c++ qt compiler-errors stdcall qtconcurrent