VS10 下的 openmp 语法错误
openmp syntax error under VS10
我正在尝试在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
循环控制块内不支持对象样式初始化器。您应该将代码重写为:
for (int i = 0; i < size; ++i)
在第二种情况下,错误是由于omp for
需要紧随其后的for
循环而不是代码块。
相关文章:
- 为什么包含windows.h会产生语法错误,从而阻止类的实例化?(C2146,C2065)
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- 为什么我会收到错误 C2143 语法错误:缺少"*"之前的';'?
- 奇怪的代码抛出编译错误模板< J,int aSize=10> C2143:语法错误:在"<"之前缺少";"
- "错误 C0000:语法错误,令牌"<EOF>"处出现意外$end,并且不确定
- 我该怎么做才能摆脱使用命名空间时的语法错误?
- C++语法头文件错误
- 如何摆脱错误c2061;语法错误 cout?
- 语法错误:D3DX10Core 中的标识符'TEXTMETRICA'
- 错误 C2146:语法错误:标识符"A1"之前缺少","
- main.cpp(11):错误 C2059:语法错误:"字符串"
- 我想获取点的属性,它报告错误 C3867:"point::output_x":非标准语法;使用"&"创建指向成员的指针
- RedisGraph 语法错误在偏移量 8 靠近"创建"
- 如何修复此 FSM C++语法错误 C3867
- 函数错误 C2059:语法错误:'>'不起作用
- 为什么在main()之前断言会导致语法错误"error: expected ')' before numeric constant"?
- system() 返回错误语法错误:"("意外
- C++图形初始化错误(语法或丢失文件缺陷?
- 获取0:1(1):错误:语法错误,尝试编译着色器时意外$end
- Visual Studio错误:语法错误:标识符