C++ c++;线程构造函数用法
在尝试使用std::threads时,我发现自己出现了这个错误C++ c++;线程构造函数用法,c++,multithreading,std,irrlicht,C++,Multithreading,Std,Irrlicht,在尝试使用std::threads时,我发现自己出现了这个错误 error C2064: term does not evaluate to a function taking 1 arguments File: functional Line:1152 在注释掉一些行之后,我发现错误来自构造函数 我还使用irrlicht作为事件变量 以下是线程的声明: t1=new thread((&EventReceiver::KeyInput3),event); 函数的标题: int Eve
error C2064: term does not evaluate to a function taking 1 arguments
File: functional
Line:1152
在注释掉一些行之后,我发现错误来自构造函数
我还使用irrlicht作为事件变量
以下是线程的声明:
t1=new thread((&EventReceiver::KeyInput3),event);
函数的标题:
int EventReceiver::KeyInput3(const SEvent& event)
尝试以各种方式构建它,但都没有成功。
我应该怎么做才能消除错误?我猜
keyinport
不是一个静态成员函数,因此您需要首先传递一个指向EventReceiver
实例的指针:
EventReceiver* p = ...;
std::thread t(&EventReceiver::KeyInput3, p, event);
我猜
keyinport
不是一个静态成员函数,因此您需要首先传递一个指向EventReceiver
实例的指针:
EventReceiver* p = ...;
std::thread t(&EventReceiver::KeyInput3, p, event);
您必须在其他args之前将EventReceiver类对象传递给线程构造函数可能的重复项您必须在其他args之前将EventReceiver类对象传递给线程构造函数可能的重复项小加法:您可以传递指向对象的指针、对象、对对象的引用、,或指向对象的智能指针。小的添加:您可以传递指向对象的指针、对象、对象引用或指向对象的智能指针。