轉載請註明文章出處:https://tlanyan.me/openmp-std...code
今天編譯OpenMP時遇到了一個錯誤:"error: ‘std::cout’ not specified in enclosing parallel"。根據網上搜索結果,其出錯緣由爲:omp
制導語句使用了default(none)
,代碼塊中的全部外部變量應該都顯式聲明爲共享或者私有;std::cout
是std
空間中的一個靜態變量,其出如今omp
語句塊中但未單獨聲明,因此出錯了。ci
解決方案:1. 去掉default(none)
;2. 在shared
聲明中添加std::cout
。get
另外,只要制導語句出現問題,附帶都有一個「error: enclosing parallel」的錯誤。解決掉真正的錯誤,這個報錯天然會消失。it