0

bool のベクトルを使用して all to all を実行しようとしていますが、コンパイラ エラーが発生します。

vector<bool> particles_crossed_send(world.size(),false);
vector<bool> particles_crossed_recv;
mpi::all_to_all(world,particles_crossed_send,particles_crossed_recv);

コンパイラは、最後の 2 つの引数 (ベクトル) が「左辺値または関数指定子でなければならない」と不平を言います。

なぜこの問題が発生するのかわかりません。

4

1 に答える 1

0

これは、boost::mpi 内の基になる呼び出しと関係があると思います。boost mpi は古いバージョンの MPI 標準を使用するため、bool は MPI データ型とは見なされません。私は自分の目的のためにそれをcharに切り替えただけで、うまくいきました。

于 2012-12-12T22:19:33.033 に答える