0

是否可以在 C++/CLI 中使用 TPL?
我发现的主要材料与 PPL 相关,而不是 TPL。如果我尝试像使用 C# 一样使用 TPL(例如,通过 检索异步操作的结果->Result),那么得到类似

错误 150 错误 C2039:“结果”:不是“System::Threading::Tasks::Task`1”的成员

任何示例或好的教程?谢谢

4

1 回答 1

4

您忘记发布代码片段,因此您的问题无法诊断。请务必使用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;
}
于 2012-05-21T11:05:16.860 回答