多线程应用程序错误C ++

时间:2016-01-12 20:05:14

标签: c++ multithreading

我正在尝试更改多线程调度应用程序。我遇到了以下代码行的错误。

root = tk.Tk()
main_app = MainApplication(root)
main_app.pack(fill="both", expand=True)
root.mainloop()

错误消息是:

VirtualGridDriver::AddTask(& CSchedulerDlg::runJob, parameters)

函数error C2664: 'VirtualGridDriver::AddTask' : cannot convert parameter 1 from 'void (__thiscall CSchedulerDlg::* )(VGridTaskParam)' to 'void (__cdecl *)(VGridTaskParam)' 1> There is no context in which this conversion is possible 定义为:

AddTask

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您不能将非静态成员函数指针作为自由函数指针传递。完全不同的类型,正如编译器告诉你的那样。