转载请注明文章出处:https://tlanyan.me/openmp-stdcout-not-specified-in-enclosing-parallel/
今天编译OpenMP时遇到了一个错误:"error: ‘std::cout’ not specified in enclosing parallel"。根据网上搜索结果,其出错原因为:omp制导语句使用了default(none),代码块中的所有外部变量应该都显式声明为共享或者私有;std::cout是std空间中的一个静态变量,其出现在omp语句块中但未单独声明,所以出错了。
解决方案:1. 去掉default(none);2. 在shared声明中添加std::cout。
另外,只要制导语句出现问题,附带都有一个“error: enclosing parallel”的错误。解决掉真正的错误,这个报错自然会消失。
本文探讨了在使用OpenMP进行并行编程时遇到的std::cout未指定错误。错误源于omp制导语句使用了default(none),导致std空间中的静态变量std::cout未被正确声明。提供了两种解决方案:移除default(none)或在shared声明中添加std::cout。
1510

被折叠的 条评论
为什么被折叠?



