search - “[错误] 到/来自 OpenMP 结构化块的无效分支”我有这个错误
问题描述
struct dugum* ara(struct dugum* kok,int aranacakSayi)
{
double start;
double end;
start = omp_get_wtime();
int i;
#pragma omp parallel num_threads(4) shared(start,end,aranacakSayi) private(i)
{
#pragma omp for
for(i=0;i<10;i++)
{
printf("\n Kontrol edilen sayilar : %d Thread : %d \n \n",kok->sayi,omp_get_thread_num());
if(kok->sayi==aranacakSayi || kok ==NULL ){
end = omp_get_wtime();
printf("Calisma zamani %f saniye \n", end - start);
return kok;
}
if (aranacakSayi > kok->sayi)
kok = kok->sag;
else if (aranacakSayi < kok->sayi)
kok = kok->sol;
}
}
}
我正在尝试使用 openMP 进行中序遍历,但出现此错误。代码没有返回“return kok”是有一些错误。我需要帮助来修复此错误这是关于 openMP 结构化块的。
解决方案
您不能return
从并行区域内...(想想看。所有线程应该如何知道其中一个想要返回?)
推荐阅读
- ionic-framework - Ionic 3 - 如何在离开页面时取消选择选项卡
- python - 在 Python3 中使用嵌入式 argparse
- linux - 如何在具有 python 3.4 的 linux 中安装 python3.5 或 3.6
- javascript - jQuery - 在提交时动态生成表单操作在 IE 和 Edge 中不起作用
- javascript - JavaScript 删除功能不起作用(绝对新手)
- html - 为什么提交按钮不显示文本?
- android - 无法在片段上实现 RecyclerView
- javascript - FileReader onprogress
- java - oracle.sql.DATUM 已弃用。它的替代品是什么?
- oauth - AspNet Core 重定向循环中的 Giraffe + GitHub OAuth 流