次のコードで何が間違っているのかわかりません。「解放されているポインタが割り当てられていません」というエラーが生成されます。
#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;
}
しかし、関数のコードを直接メインに入れれば大丈夫です。MPIを使用しなくても大丈夫です。私は何を間違えましたか?