次の例では、プライベート コンポーネントを使用して構造を定義しました。
module mtypes
implicit none
type mytype
integer, private :: nr
end type
end module mtypes
program main
use mtypes
type(mytype) :: t1
t1 = mytype(1)
print *, t1
end program main
構造体コンストラクターは、1 を引数として呼び出されます。nr
私の理解では、プライベートであるため、これは不可能です。ただし、これは によってコンパイルされますが、 usingではコンパイルされIntel(R) Visual Fortran Compiler XE 14.0.5.239 [IA-32]
ません。さらに、ステートメントは出力に の値を示します。最新の標準を使用して、このようにプライベート コンポーネントを持つ構造体を定義することは有効ですか? それともIntelコンパイラのバグですか?gfortran 4.9.3
cygwin
print
nr
Fortran