gpt4 book ai didi

c++ - VS10下openmp语法错误

转载 作者:行者123 更新时间:2023-11-28 08:03:01 25 4
gpt4 key购买 nike

我试图在 Visual Studio 10 下使用一个简单的#pragma omp parallel for,但我收到了一个我不明白的错误

这是我的做法:

#pragma omp parallel for
for (int i(0); i < size; ++i)
{
// do some stuff
}

我在编译时遇到了这些错误:

error C2059: syntax error : 'constant' // on the for() line
error C2059: syntax error : ';' // on the for() line
error C2143: syntax error : missing ';' before '{'
// repeat previous error for every { or } in file
fatal error C1004: unexpected end-of-file found // on last line of file

openmp 支持在编译器选项中激活。这段代码在没有 openmp 指令的情况下编译和运行得很好。

我试着像这样将 for 循环嵌套在大括号中:

#pragma omp parallel for
{
for (int i(0); i < size; ++i)
{
// do some stuff
}
}

但随后编译器告诉我他希望在 #pragma 指令之后立即有一个 for 循环。

有没有人看到我在这里做错了什么?这让我发疯,因为我已经在其他程序的相同条件下成功地使用了 OpenMP。

最佳答案

我认为当 OpenMP 处于事件状态时,for 循环控制 block 内不支持对象样式初始化器。您应该将代码重写为:

for (int i = 0; i < size; ++i)

在第二种情况下,错误是由于 omp for 需要紧随其后的 for 循环而不是代码块。

关于c++ - VS10下openmp语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10895633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com