gpt4 book ai didi

oop - Fortran 2003 中的链接类型绑定(bind)过程?

转载 作者:行者123 更新时间:2023-12-04 14:18:34 25 4
gpt4 key购买 nike

假设我正在用 Fortran 编写纸牌游戏。我有一个带有类型绑定(bind)过程“getsuit”的卡片对象和一个带有类型绑定(bind)过程“getcard”的套牌对象(由卡片数组组成)。

我想要的是能够执行以下形式的操作:

deck%getcard%getsuit

然而,当我这样做时,我的编译器通知我“函数引用不能用作结构组件的最左边的部分引用”,即使该函数的类型为“card”。另一方面,这样做:

card = deck%getcard
card%getsuit

工作正常。必须使用两行代码和一个额外的变量来完成此操作似乎令人讨厌;有什么解决办法吗?

最佳答案

根据您的函数的作用(这里假设它们或多或少是纯的),您可以使用用户定义的运算符。

the_suit = .SuitOf. (.CardFrom. deck)

关于oop - Fortran 2003 中的链接类型绑定(bind)过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24089285/

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