我想通过Parallel::For
调用Action<String^
,但得到下面的错误。
我的代码:
Action<String^> ^act = gcnew Action<String^>(this, &Form1::loadFileInternam);
System::Threading::Tasks::Parallel::For(1, 16, act);
个字符
我得到的错误:
错误代码:严重性代码描述项目文件行抑制状态错误C2665“系统::线程::任务::并行::For”:8个重载中没有一个可以转换所有参数类型dddd C:\Users\Jack\Desktop\repos\new_c++\Text editor - Copy\CppCLR_WinformsProject1 - Copy - Copy - Copy(2)- Copy(2)\Form1.h 1620
1条答案
按热度按时间e5nqia271#
正如你所看到的here,根据重载列表,
Parallel::For
支持几种类型的Action
,但是它们都不接受String
参数。解决方案:
由于没有提供任何上下文,因此不清楚当
Parallel::For
调用loadFileInternam
时,String
实际上是什么。但可能适合您需要的
Action
类型是:Action<Int32>
。这个
Action
将从您传递给Parallel::For
的范围中传递一个Int32
,即1..16(不包括)。您可以使用此索引来选择要传递给
loadFileInternam
的相关字符串。类似于:
字符串