次の例では、組み込み関数transfer()
が 'b'に対してうまく機能します。型とクラス間のデータ格納の相違
多形体a
では正しく動作しません(正しいサイズの文字配列を返すことはできません)。
誰でもこの理由を説明できますか?
誰もが任意のタイプ(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