【发布时间】:2018-03-25 19:21:06
【问题描述】:
在一个类方法的 if 语句的主体中分配了两个数组,这是一个依赖于输入的,在我的例子中,它从来都不是 True。因此,就我而言,这两个数组从未被分配过。但是这个类的析构函数会删除这两个[未分配]数组。
我在使用不同的 MPI 库和 C++ 编译器的这段代码(基于 C++ MPI+OpenMP)方面从未出现任何错误,除非我开始使用 impi 库。
代码运行正常,直到它到达末尾,然后抛出消息“错误终止您的应用程序之一”,退出代码为 6 或 11。
我修复了这个错误,但现在我只是好奇为什么 impi 会发生这种情况以及如何以最安全的方式删除未分配的数组。
【问题讨论】:
-
我们能看到一些代码而不是你所做的描述吗?见stackoverflow.com/help/mcve
标签: c++ memory compilation mpi dynamic-memory-allocation