是否可以在默认为私有的模块中公开枚举?
module mod
private
enum, (public,) bind(c) !Doesn't work
enumerator(, public) :: ENUM1, ENUM2,... !Doesn't work
end enum
end module
我希望默认情况下保持模块数据的私有性,但希望枚举是公开的,而不必像这样单独列出:
public :: ENUM1, ENUM2,... !Works
我知道枚举只是整数参数,所以我很好奇是否可以同时对所有这些参数进行。
答案 0 :(得分:4)
您尝试执行的操作不符合Fortran 2008 4.6.1中的语法规则,因此,无法在枚举定义中插入公共属性。
也无法将public
语句中的枚举数作为一个组排列,您必须列出每个枚举数。
枚举只是为了C互操作性而添加到Fortran中(注意强制性bind(c)
)并且不适合其他语言。