我想使用TBB parallel_for我将此问题用于我的代码测试
<table width="outside container width here">
<tbody>
<tr>
<table style="apply your styles here, background colors, paddings etc (do not use margins, poorly supported.)" height="height of inner container" width="inner container width here" align="however you want it aligned">
<tbody><tr><td><a href="#link">Your button actually goes here</a></td></tr></tbody>
</table>
</tr>
</tbody>
</table>
我的编译行是:
JSON
我的编译错误是:
input
你有想法解决这个问题吗?
答案 0 :(得分:4)
您的代码问题是0
的类型为int
,而n
的类型为std::size_t
。存在不匹配,您需要进行转换。解决方案如下:
tbb::parallel_for(static_cast<std::size_t>(0), n, [&](std::size_t i)) {
// other code
}
另一种解决方案是使用tbb::blocked_range<T>
指定范围,即tbb::parallel_for
的另一个重载。
tbb::parallel_for(tbb::blocked_range<std::size_t>(0, n),
[&](const tbb::blocked_range<std::size_t> &range) {
for (auto i = range.begin(); i != range.end(); ++i)
const auto &tuple = commands[i];
} );
显然,第一种解决方案更简洁。但是,第二个更灵活。因为对于第一个,你只能指定循环体,而对于第二个,你可以在循环体外做更多的事情。