我有一个对象需要为其设计副本构造函数。该对象具有MPI_Comm成员,应将其复制到新对象。我不想使用浅表副本,因为正确的方法是复制传播者。
myClass::myCLass(const myClass& in_class)
{
//
....
MPI_Comm_dup(inclass.comm, &myclass.comm);
...
}
它可以用MPICH很好地编译,但是在运行时由于以下错误而崩溃(“在文件src / mpi / topo / topoutil.c中的断言在第101行失败:n == 0“)其他实现(例如英特尔)也可以正常工作。
只有这么少的信息,人们只能猜测。如果它是n
topoutil.c
中的http://formalverification.cs.utah.edu/sawaya/html/db/d9e/topoutil_8c-source.html,则听起来很像是您要复制空(空?)通信器。