gpt4 book ai didi

fortran - 公开枚举

转载 作者:行者123 更新时间:2023-12-02 17:03:41 25 4
gpt4 key购买 nike

是否可以在默认为私有(private)的模块中将枚举设为公共(public)?

module mod

private

enum, (public,) bind(c) !Doesn't work
enumerator(, public) :: ENUM1, ENUM2,... !Doesn't work
end enum

end module

我想默认将模块数据保持私有(private),但希望枚举是公开的,而不必像这样单独列出它们:

public :: ENUM1, ENUM2,... !Works

我知道枚举只是整数参数,所以我很好奇是否可以同时对所有参数执行此操作。

最佳答案

您尝试执行的操作不符合 Fortran 2008 4.6.1 的语法规则。因此,无法在枚举定义中插入公共(public)属性。

也无法将枚举器作为一个组放入 public 语句中,您必须列出每个枚举器。

添加到 Fortran 中的枚举或多或少只是为了 C 互操作性(注意强制性的 bind(c)),并且不太适合该语言的其余部分。

关于fortran - 公开枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27340891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com