【发布时间】:2020-11-23 01:58:35
【问题描述】:
尝试运行时出现错误:“free(): 损坏的未排序块”:
#pragma omp parallel for reduction(+:save) shared(save2)
for (size_t i = 0; i <= N; ++i) {
vector<float> dist = cdist(i, arestas);
vector<float> distinv(dist.size());
for (size_t j = 0; j < N(); ++j) {
if (arr[j] > 0)
arrv[j] = (1/N) + (1 / arr[j]);
else
arrv[j] = 0;
}
save = accumulate(arrv.begin(), arrv.end(), 0.0);
vector<double>::iterator iter = save2.begin() + i;
save2.insert(iter, sum);
}
【问题讨论】:
-
当您说“代码不工作”时,您是什么意思?发生什么了?你得到什么输出?
-
free(): 损坏的未排序块
标签: c++ multithreading parallel-processing openmp