是否可以在C ++ / CLI中使用TPL?
我发现的主要材料与PPL有关,而不是TPL。如果我尝试使用我用于C#的TPL(例如,通过->Result
检索异步操作的结果),那么得到类似
错误150错误C2039:'结果':不是'System :: Threading :: Tasks :: Task`1'的成员
任何样本或好的教程?感谢
答案 0 :(得分:3)
您忘记发布代码段,因此您的问题非常难以理解。请务必使用Task<TResult>
来获取Result属性。这个示例代码编译并运行没有问题。
#include "stdafx.h"
#using <System.Core.dll>
using namespace System;
using namespace System::Threading::Tasks;
ref class SomeTask {
public:
static int run() {
return 42;
}
};
int main(array<System::String ^> ^args)
{
Task<int>^ task = Task<int>::Factory->StartNew(gcnew Func<int>(&SomeTask::run));
task->Wait();
Console::WriteLine(task->Result);
return 0;
}