使用布尔数组时出现 Openmp 错误

openmp error when using bool array

本文关键字:Openmp 错误 布尔 数组      更新时间:2023-10-16

这是我得到的错误

Error   1   error C3028: 'CAlgo::m_CandEnable' : 
only a variable or static data member can be used in a data-sharing clause
bool m_CandEnable[ALGO_NUM_CANDIDATE];

这是我使用的杂注

    #pragma omp parallel for schedule(static)  default(shared) firstprivate(nbr_SAD_RES_index_BNLM_PATCH_LOC_Y_plus_k_offset_BNLM_PATCH_LOC_X, candLocX_index_i, candLocY_index_i,
                                                    cand_pixel_value, patch_pixel_value, nbr_SAD_RES_candLocY_index_iplus_k_offset_candLocX_index_i,
                                                    exit_loop_sad_max, fast_SAD_index_i, candLocY,candLocX, i ,j , k)

该变量被声明为私有变量。 共享相同的错误

您似乎已经在私有语句中声明了两次变量exit_loop_sad_max。也许这会导致错误?

您是否为 m_CandEnable 数组声明了其他语句(例如 threadprivate)?您是否在循环中的关键部分访问此阵列?

请提供更多代码,否则我们只能猜测。