是否可以在默认为私有的模块中公开枚举?
module mod
private
enum, (public,) bind(c) !Doesn't work
enumerator(, public) :: ENUM1, ENUM2,... !Doesn't work
end enum
end module
Run Code Online (Sandbox Code Playgroud)
我想默认保持模块数据私有,但希望枚举是公开的,而不必像这样单独列出它们:
public :: ENUM1, ENUM2,... !Works
Run Code Online (Sandbox Code Playgroud)
我知道枚举只是整数参数,所以我很好奇是否可以同时为所有这些参数做这件事。
您尝试执行的操作不符合 Fortran 2008 4.6.1. 的语法规则。因此,无法在枚举定义中插入公共属性。
也没有办法将枚举数public作为一个组放在语句中,您必须列出每个枚举数。
枚举被添加到 Fortran 或多或少只是为了 C 互操作性(注意强制性bind(c)),并不适合语言的其余部分。