0

C++/CLI で TPL を使用することは可能ですか?
私が見つけた主な資料は、TPL ではなく PPL に関連しています。C# で使用したのと同じように TPL を使用しようとすると (たとえば、 を介して非同期操作の結果を取得する->Result)、次のような結果が得られます。

エラー 150 エラー C2039: 'Result' : '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 に答える