Fortran Coder

查看: 7689|回复: 2
打印 上一主题 下一主题

[指针] CVF6.6中实现函数指针功能

[复制链接]

11

帖子

3

主题

0

精华

入门

F 币
50 元
贡献
30 点
跳转到指定楼层
楼主
发表于 2017-10-27 12:47:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
           MODULE gva
                IMPLICIT NONE
                INTERFACE
                      REAL*8 FUNCTION fun(x)
                              REAL*8,INTENT(IN) :: x
                      END FUNCTION fun
                      REAL*8 FUNCTION ftan(x)
                              REAL*8,INTENT(IN) :: x
                      END FUNCTION ftan
                      REAL*8 FUNCTION poly(x)
                              REAL*8,INTENT(IN) :: x
                      END FUNCTION poly
                END INTERFACE

                PROCEDURE(fun),POINTER :: f
        END MODULE gva


                READ(5,*)k
                IF(k == 0) THEN
                       f => ftan                      
                ELSE IF(k==1 ) THEN
                       f => poly
                ELSE
                END IF

f为函数指针(或者函数变量)
根据输入k,对f进行赋值。此功能在gfortran中可以使用,interface为新的特性,
在CVF6.6中不支持,在CVF6.6中如何实现以上功能?

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2017-10-27 13:07:39 | 只看该作者
这问题就好像问:“怎么在诺基亚1100手机上安装微信”一样。
没法实现,放弃这种老版本编译器,让它入土为安吧。





11

帖子

3

主题

0

精华

入门

F 币
50 元
贡献
30 点
板凳
 楼主| 发表于 2017-10-27 13:09:51 | 只看该作者
fcode 发表于 2017-10-27 13:07
这问题就好像问:“怎么在诺基亚110手机上安装微信”一样。

没法实现,放弃这种老版本编译器,让它入土为 ...

比喻通俗易懂,谢谢!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-4-26 21:21

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表