我正在尝试更改多线程调度应用程序。我遇到了以下代码行的错误。
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
我该如何解决这个问题?
答案 0 :(得分:2)
您不能将非静态成员函数指针作为自由函数指针传递。完全不同的类型,正如编译器告诉你的那样。