OpenMP 错误:“X”是预先确定的“共享”;对于“私人”
有谁知道为什么以下代码
void foo(const int X)
{
#pragma omp parallel for private(X)
for (int i = 0; i < 100; i++)
{ }
}
会出现此错误
错误:“X”被预先确定为“私有”的“共享”
,我如何才能真正使 X
对每个线程私有?
Does anyone know why the following code
void foo(const int X)
{
#pragma omp parallel for private(X)
for (int i = 0; i < 100; i++)
{ }
}
gives this error
error: 'X' is predetermined 'shared' for 'private'
and how I can really make X
private to each thread?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您收到错误是因为
X
是常量。只需删除const
即可一切正常。You are getting an error because
X
is constant. Just removeconst
and everything should work.