是否可以在 C++/CLI 中使用 TPL?
我发现的主要材料与 PPL 相关,而不是 TPL。如果我尝试像使用 C# 一样使用 TPL(例如,通过 检索异步操作的结果->Result
),那么得到类似
错误 150 错误 C2039:“结果”:不是“System::Threading::Tasks::Task`1”的成员
任何示例或好的教程?谢谢
是否可以在 C++/CLI 中使用 TPL?
我发现的主要材料与 PPL 相关,而不是 TPL。如果我尝试像使用 C# 一样使用 TPL(例如,通过 检索异步操作的结果->Result
),那么得到类似
错误 150 错误 C2039:“结果”:不是“System::Threading::Tasks::Task`1”的成员
任何示例或好的教程?谢谢
您忘记发布代码片段,因此您的问题无法诊断。请务必使用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;
}