C++ cli 第三方物流&x2B;C++/CLI:教程、示例

C++ cli 第三方物流&x2B;C++/CLI:教程、示例,c++-cli,task-parallel-library,C++ Cli,Task Parallel Library,可以在C++/CLI中使用TPL吗? 我发现的主要材料与PPL有关,而不是TPL。如果我尝试使用TPL作为C#(例如,通过->result)检索异步操作的结果),那么 错误150错误C2039:“结果”:不是“System::Threading::Tasks::Task`1”的成员 有什么样的例子或好的教程吗?谢谢您忘记发布代码片段,因此您的问题无法诊断。确保使用Task具有结果属性。这个示例代码编译并运行起来没有问题 #include "stdafx.h" #using <System.

可以在C++/CLI中使用TPL吗?
我发现的主要材料与PPL有关,而不是TPL。如果我尝试使用TPL作为C#(例如,通过
->result
)检索异步操作的结果),那么

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


有什么样的例子或好的教程吗?谢谢

您忘记发布代码片段,因此您的问题无法诊断。确保使用
Task
具有结果属性。这个示例代码编译并运行起来没有问题

#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;
}
#包括“stdafx.h”
#使用
使用名称空间系统;
使用名称空间System::Threading::Tasks;
ref类SomeTask{
公众:
静态int运行(){
返回42;
}
};
int main(数组^args)
{
任务^Task=Task::Factory->StartNew(gcnew Func(&SomeTask::run));
任务->等待();
控制台::写线(任务->结果);
返回0;
}

您忘记发布代码片段,因此您的问题无法诊断。确保使用
Task
具有结果属性。这个示例代码编译并运行起来没有问题

#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;
}
#包括“stdafx.h”
#使用
使用名称空间系统;
使用名称空间System::Threading::Tasks;
ref类SomeTask{
公众:
静态int运行(){
返回42;
}
};
int main(数组^args)
{
任务^Task=Task::Factory->StartNew(gcnew Func(&SomeTask::run));
任务->等待();
控制台::写线(任务->结果);
返回0;
}

任务->结果
对我来说很好。你能给我们看看你的密码吗?此外,我怀疑您是否会找到任何好的教程,因为C++/CLI除了一些特定的任务(如互操作)外,并不经常使用。
task->Result
对我来说很好。你能给我们看看你的密码吗?另外,我怀疑您是否会找到任何好的教程,因为C++/CLI除了某些特定任务(如互操作)外,并不经常使用。非常感谢您的输入。事实上,没有迹象表明TPL不应与cpp/CLI配合使用。我挖掘了更多信息,发现编译器“平台工具集”参数设置为v90而不是v100(我一直在将项目从3.5移植到4.0)。这就是原因。非常感谢你的投入。事实上,没有迹象表明TPL不应与cpp/CLI配合使用。我挖掘了更多信息,发现编译器“平台工具集”参数设置为v90而不是v100(我一直在将项目从3.5移植到4.0)。这就是原因。