在下面的示例中,内部函数transfer()适用于'b'.
但它不适用于多态对象a(即不能返回正确大小的char数组).
有人能解释一下这个原因吗?
并且任何人都可以提供任意类型的数据序列化/打包(使用MPI)吗?
谢谢.
module mm
type::typeA
integer dat(10)
end type
end module
program test
use mm
class(typeA),allocatable::a
type(typeA)::b
allocate(a)
write(*,*),size(transfer(a,['c']))
write(*,*),size(transfer(b,['c']))
end program
Run Code Online (Sandbox Code Playgroud) fortran ×1