所以我对c ++还是很陌生,我来自c#,所以这是一个很大的挑战,我在c#中相当简单但在c ++中似乎很痛苦
所以我有一个TASK类,它具有一个称为ExecuteTask();
的函数class Task
{
public:
virtual void *ExecuteTask(void* foo);
};
此任务被称为,但是添加到计划的线程池中
我想要做的就是这样
Task *taskit = new Task();
taskit->ExecuteTask(new void {
});
在C#中,我知道这很简单,因为您有委派,可以使用类似+= delegate { // Do something }
的方式
我正在将Visual Studio 2017与MS标准库和C ++一起使用
答案 0 :(得分:0)
我想使用
来获得std :: function的解决方案class Task
{
public:
std::function<void(void)> ExecuteTask;
};
然后,当我使用它时,我会使用:
Task *taskit = new Task();
taskit->ExecuteTask = [&]
{
//Do something
};