我不明白下面的代码有什么问题。它会生成“未分配的指针被释放”错误。
#include "mpi.h"
using namespace std;
void changeArray(bool* isPrime){
delete[] isPrime;
isPrime = new bool[10];
}
int main(int argc, char * argv[])
{
int size, rank;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
bool* isPrime = new bool[1000];
changeArray(isPrime);
delete[] isPrime;
MPI_Finalize();
return 0;
}
但是如果我把函数的代码直接放在main里面就可以了。如果我不使用 MPI 也可以。我做错了什么 ?