я определил структуру с отдельным компонентом в следующем примере:Конструктор с частным компонентом
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
является частным. Однако это составлено Intel(R) Visual Fortran Compiler XE 14.0.5.239 [IA-32]
, но не с gfortran 4.9.3
с использованием cygwin
. Кроме того, оператор print
показывает значение nr
на выходе. Действительно ли это Fortran
, чтобы определить структуру с частным компонентом таким образом, используя последний стандарт? Или это ошибка компилятора Intel?