次の例では、組み込み関数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