c语言 错误 无效的控制谓词,使用OpenMP“无效控制谓词”编译器错误

循环内部不允许返回,因为它会导致花括号前退出.

请注意下面给出的定义:

从OpenMP V2.5规范,1.2.2 OpenMP语言术语,p2:17-

structured block – For C/C++, an executable statement, possibly

compound, with a single entry at the top and a single exit at the

bottom.

结构化块以open {开头,以结束}结束.返回包含在这些大括号中,因此该程序也违反了结构化块的OpenMP定义,因为它有两个出口(一个在返回处,一个在出口处通过大括号)

OpenMP对可以线程化的循环放置以下五个限制:

>循环变量必须是有符号整数类型.无符号整数,如DWORD的,将无法正常工作.>比较操作必须采用loop_variable的形式,或> = loop_invariant_integer> for循环的第三个表达式或增量部分必须是整数加法或整数减法和循环不变的价值.>如果比较操作是或> =,循环变量必须减少每一个迭代.>循环必须是一个基本块,意味着不会从内部跳转除退出外,允许循环到外部声明,终止整个应用程序.如果是陈述使用goto或break,它们必须在循环内跳转,而不是在外面它.异常处理也是如此;必须抓住例外循环内.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值