小编mia*_*zhi的帖子

类型和类之间的数据存储差异

在下面的示例中,内部函数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
推荐指数
1
解决办法
509
查看次数

标签 统计

fortran ×1