在以下示例中,内在函数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