3

次の例では、プライベート コンポーネントを使用して構造を定義しました。

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.3cygwinprintnrFortran

4

1 に答える 1